Go engineer working on telecom core networks and the cloud-native infrastructure they run on. Most of my time goes to mobile-core network functions; the rest goes upstream, into the Kubernetes, storage, and observability tools I depend on.
A Go monorepo implementing a combined 5GC + EPC core stack — one service per 3GPP network function, deployed to Kubernetes via Helm.
| Layer | Components |
|---|---|
| 5G core | UDM, AUSF, UDR, context-management, provision |
| EPC / legacy interworking | HSS, EIR, Diameter gateway (S6a / Cx / Sh) |
| Edge | HTTP/2 SBI gateway, NETCONF control plane |
| Data | Distributed SQL backend, event-log and trace pipeline |
| Tooling | End-to-end test harness, performance and overload profilers |
Interesting parts: Per-function Go modules with shared crypto/database/diameter libraries, 3GPP-aligned SBI request validation, Diameter↔HTTP protocol translation, and load-testing tools built to find the overload cliff before production does.
I contribute upstream fixes to the Go infrastructure I run in production — storage, Kubernetes tooling, policy engines, stream processors, and 5G core projects.
14 merged pull requests across 10 upstream projects totalling 199.1k stars · 6 in review
| Project | ★ | PR | Contribution |
|---|---|---|---|
| rclone/rclone | 59.4k | #9693 | fserrors: make http2 "server sent GOAWAY" a retriable error - fixes #96… |
| rclone/rclone | 59.4k | #9751 | operations: check checksums in rcat with known size - fixes #6305 |
| go-gitea/gitea | 57.6k | #38693 | fix(lfs): failed upload deletes a concurrent upload's meta object |
| seaweedfs/seaweedfs | 34.3k | #10656 | s3api: fix ListObjectsV2 dropping objects under a partial prefix |
| alibaba/open-code-review | 21.4k | #501 | feat(allowlist): add Julia (.jl) support |
| grpc-ecosystem/grpc-gateway | 20k | #7110 | docs: add runnable OpenTelemetry tracing example |
| grpc-ecosystem/grpc-gateway | 20k | #7207 | fix(openapiv2): omit oneof siblings of path parameters from query param… |
| uptrace/bun | 4.9k | #1414 | fix(bunotel): honor WithMeterProvider when reporting DB stats metrics |
| uptrace/bun | 4.9k | #1415 | fix(relation): do not duplicate joined models on a shared base model |
| nginx/nginx-gateway-fabric | 1.1k | #5639 | fix: correct validation error diagnostics and add missing CRD schema co… |
| kerlenton/mcpsnoop | 345 | #212 | feat(check): emit SARIF 2.1.0 so findings land in the Security tab |
| kerlenton/mcpsnoop | 345 | #213 | feat(cli): wrap and unwrap the Claude Desktop config for one server |
| free5gc/amf | 24 | #232 | fix: guard non-string DNN type assertions in GMM handler |
| free5gc/tngf | 5 | #47 | fix: prevent slice-bounds panic on malformed IKE SA proposal |
| Project | ★ | PR | Contribution |
|---|---|---|---|
| argoproj/argo-workflows | 16.9k | #16602 | perf(executor): read the resource once for all output parameters. |
| kubeshark/kubeshark | 12.1k | #1956 | helm: use Recreate strategy for hub Deployment when local snapshots PVC… |
| velero-io/velero | 10.3k | #10212 | Fix Zip Slip path check accepting a sibling directory in archive extrac… |
| anchore/syft | 9.5k | #5121 | fix(binary): match istio snapshot and older pre-release versions |
| redpanda-data/connect | 8.7k | #4656 | slack: only enforce token prefixes on literal values |
| free5gc/ike | 3 | #24 | fix: prevent slice-bounds panics from uint8 SPI offset overflow |
Table regenerated nightly from the GitHub API by
scripts/build_stats.py — own repositories excluded,
so every row is an upstream contribution.
Go · Kubernetes · Helm · Docker · Diameter · HTTP/2 · SBI ·
NETCONF · gRPC / protobuf · distributed SQL · eBPF-adjacent tooling
The cards above reflect activity in my own repositories only — the upstream work is in the table above.


