Backend developer building APIs and event-driven services designed to stay correct under concurrency and failure.
- π Education: B.Tech Computer Science and Engineering (Data Science)
- π§ͺ Quality engineering: testing, debugging, reliability, and edge cases, with automated test suites in node:test and pytest
- π§© Problem solving: 300+ problems solved on LeetCode
- π Hackathon: Top 5 at Dev Crafts Hackathon
I like building things, breaking them on purpose, and figuring out why they broke.
Payment and wallet backend focused on correctness under concurrency and partial failure, implemented two ways: a single service using the transactional outbox pattern, and event-driven microservices coordinated by a saga.
- π Idempotent transfers: SHA-256 payload fingerprinting with Redis and PostgreSQL checks, so a reused key with different details is rejected
- π‘οΈ Safe concurrency: ACID transactions with ordered row-level locks to prevent deadlocks
- π¨ Reliable events: transactional outbox publishing to Kafka with retries, a dead-letter state, and idempotent consumers
- π Distributed transactions: saga orchestration with compensating actions across wallet, payment, and orchestrator services
- β Tested: 27 unit and integration tests covering idempotency, refunds, auth guards, and duplicate event delivery
View architecture
flowchart LR
C["Client"] -->|"POST transfer<br/>+ idempotency key"| A["Express API"]
A -->|"dedupe check,<br/>distributed lock"| R[("Redis")]
A -->|"one ACID transaction:<br/>lock wallets, debit, credit,<br/>write outbox event"| P[("PostgreSQL")]
P -->|"outbox poller<br/>(FOR UPDATE SKIP LOCKED)"| K["Kafka"]
K -->|"at-least-once<br/>delivery"| E["Consumer"]
E -->|"INSERT processed_events<br/>ON CONFLICT DO NOTHING"| P
π Source: distributed-payment-wallet (outbox pattern) and payment-wallet-system (saga microservices)
Job scheduling platform built with Node.js and BullMQ that runs asynchronous work through distributed queues and background worker pools.
- π Job types: concurrent, delayed, and recurring (cron-style) jobs
- π Failure handling: automated retries with exponential backoff and a dead-letter queue
- π¦ Deployment: Docker and Kubernetes for horizontal scaling and fault tolerance
| π» Languages | |
| βοΈ Backend & databases | |
| βοΈ Systems & cloud | |
| π Web | |
| π§° Tools & platforms |
What I built at each stage
| 1οΈβ£ | Foundations: Python and C++ Programming fundamentals, data structures, and algorithms. Built Road Safety AI (YOLOv8 and OpenCV, served with FastAPI, tested with pytest) and Map Router, a pathfinding visualizer comparing Dijkstra, A*, and Contraction Hierarchies. |
|
| 2οΈβ£ | The web: JavaScript and TypeScript Core JavaScript and TypeScript, applied in resume-coach, a Next.js app using Tailwind, Supabase auth, and the Groq API. |
|
| 3οΈβ£ | Backend: Node.js and Express Built ecommerce-backend, a REST API with JWT authentication, request validation, cart and order flows, Razorpay payments, and Swagger docs. |
|
| 4οΈβ£ | Databases: PostgreSQL and Redis Relational modelling and ACID transactions in PostgreSQL, with Redis for caching and distributed locks. |
|
| 5οΈβ£ | Event streaming: Kafka Asynchronous, event-driven design with a transactional outbox, at-least-once delivery, and idempotent consumers in distributed-payment-wallet. |
|
| 6οΈβ£ | Distributed systems Saga orchestration with compensating actions across three services in payment-wallet-system, plus a BullMQ job scheduler with exponential backoff and dead-letter queues, deployed with Docker and Kubernetes. |
|
| π | Now: system design and reliability Scalable backend architecture, fault tolerance, and cloud deployment. |
Open to software engineering, backend, and QA roles.
Happy to talk backend engineering, testing, and distributed systems.
Code. Debug. Learn. Repeat.