Skip to content

Omkar Shendge

I build distributed systems in Go and run them on bare metal until they break. This is where I write down what broke and why.

Every post here comes from something I actually built and ran, usually on hardware that gave me a reason to think harder — a control plane with 4 GB of RAM, a CPU too old for modern container images, a GPU that lost driver support years ago.

Constraints like that are useful. They turn “which database should I use” into a question with a real answer, and they surface failure modes that a managed platform would have quietly absorbed on my behalf.

Currently

Finishing a real-time chat system in Go — WebSockets with Redis fan-out, Kafka as the durable log, pgvector for semantic search over history, and a RAG assistant running on a local model. Next up: WebRTC calling that works between two real networks, and load-testing the whole thing until something gives.