Dhruv Agrawal
Software Engineer · MyRik · Bengaluru
Backend engineer. The platforms I run serve 150,000 people a month; their latency, cost and uptime are my job.
Before MyRik: CarWale (CarTrade Tech) and JioHotstar. B.Tech in Computer Science, LNCT Bhopal, 8.23 CGPA. 800+ DSA problems, LeetCode Knight 1870+.
Experience
- 2025 → · MyRik · Software Engineer · Bengaluru
- Zero-downtime GCP → AWS migration with a hybrid VPC-tunnel phase; observability re-platformed to self-hosted Grafana / Loki / Tempo.
- p99 from >1 s to <300 ms (OpenTelemetry, N+1, indexes, cross-region RTDB).
- CQRS, event-driven product service for 150K+ MAU; Razorpay flow with webhook reconciliation.
- Runs the backend interview loop: rubric, debugging exercises, 4 interviews a week.
- 2025 · CarWale · CarTrade Tech · Associate Software Engineer · Navi Mumbai
- Desktop Short Videos and AI chat support for 1M+ monthly users: +15 % engagement, 50 % faster query resolution.
- 20 % fewer Kubernetes pods, 25 % lower infra cost; legacy frontend to 70 % coverage, 40 % fewer defects.
- 2024 · JioHotstar · Software Engineering Intern · Bengaluru
- Kafka → GCP Pub/Sub with pull-based consumption: 5M+ content-quality events a day at 99.9 %; Go APIs for 10,000+ jobs a day.
- 2024 · MyRik · Product Engineering Intern · Remote
- 2023 · AllUsedCars · Benam · SDE Intern · Remote
- 2022 · Mitra Fintech · Android Development Intern · Remote
Incidents you can replay on this page
- p99 from >1 s to <300 ms: Résumé: cut p99 API latency from >1 s to <300 ms by tracing hot paths with OpenTelemetry, then resolving N+1 queries, missing indexes and cross-region latency from a Singapore-hosted Firebase RTDB serving India traffic.
- A slow dependency takes the gateway down: Pattern from the Razorpay payment flow I built at MyRik: order-id persistence, webhook-driven reconciliation and a cron fallback, so no transaction is ever left orphaned.
- Maps API cost ₹200 → ₹3 per ride: Résumé: reduced Google Maps API cost from ₹200 to ₹3 per ride by adding Places session tokens, debouncing Distance Matrix calls during pin selection, eliminating per-ping route recomputation and dropping unused billed fields.
- A retry storm turns a blip into an outage:
- Cache partition → thundering herd on Postgres:
- A consumer dies, the backlog grows, capacity follows: Résumé: migrated event ingestion from Kafka to GCP Pub/Sub with pull-based consumption, handling 5M+ content-quality events a day at 99.9 % reliability.
- The primary dies · reads survive, writes wait 4.2 s:
Plain-text version: dhruuv.me/r. Live experiments: dhruuv.me/lab.