Bay Area
Software Engineer
Distributed Systems · Production Reliability · Clean Architecture
I build distributed systems and the tooling around them—services, libraries, and small apps that deal with real-world constraints like retries, partial failure, and scaling.
I care about reliability, testability, and keeping systems understandable as they grow—clear boundaries, predictable behavior, and code that holds up under change.
My work ranges from backend infrastructure (Java, Go, Spring) to developer tooling and lightweight applications, usually shaped by problems I’ve run into while building and operating systems.
Site: gopalpuri.netlify.app
- ⚡ pulse — Spring Boot starter for production gaps: context propagation, timeout drift, log hygiene, and safe metrics · Docs
- 🔁 idempotent — Idempotency for Java/Spring with pluggable backends (Redis, DynamoDB, NATS, RDS)
- 🧾 go-logger — Structured logging in Go with context propagation across common logging libraries
✈️ global-entry-appointment — AWS-based watcher for appointment slots with notifications · Setup- 🧪 go-resilience-mock — Fault injection for integration testing (latency, jitter, failures, rate limits)
- ✂️ jsontrim — JSON trimming with redaction and size limits without breaking structure
- 🔐 aws-secrets-cache — Secrets Manager cache designed for long-running services
- 🚇 bartonic — BART commuter PWA · Live
- 🔔 global-entry-slot-notifier — CLI notifier for appointment slots
- Building backend systems and libraries focused on reliability and clean architecture
- Writing tools for testing and simulating real-world failures (latency, retries, faults)
- Creating small utilities and apps that automate everyday workflows or fill practical gaps
Systems fail in production. Design for that, not ideal conditions.




