Systems Design & Distributed Architectures
Engineering robust, transaction-safe monolithic and microservice systems that scale.
Architecture Decision (Day 0)
Most people treat architecture as a day 300 problem. It's not. It's a day 0 decision. Go with a modular monolith first instead of over-engineered microservices. Smart service layers, clean repositories, and intentional abstractions. Observability and determinism (Sentry logging, Alembic migrations) must be baked in from the start. This structural discipline keeps development clean, ensuring devs know exactly where to look: service, repository, model.
Self-Hosted Routing Infrastructure (OSRM)
We cut routing API costs to basically zero and achieved sub-millisecond ETAs in the process. Instead of polling expensive commercial APIs every 20 seconds for active trip tracking, we self-hosted OSRM as a sidecar container sitting right next to the API service inside the same ECS task.
- Localhost Queries: Zero external calls, zero bill, single-digit millisecond latency.
- Custom Traffic Heuristics: Layered time-of-day multipliers and static penalties for key Bangalore junctions (Silk Board, Tin Factory, Kundalahalli Gate) to match real-world traffic profiles.
- Graceful Fallbacks: Instant fallback to straight-line distance if the container experiences hiccups, ensuring routing never blocks bookings.
Relevant Materials
Explore our architectural breakdowns at the Case Studies Page or check my setups at the Uses Page.