Work
Every claim here has a number attached to it.
Three roles across payments, telecom and benefits, plus the two things I'm building at the moment. Nothing on this page is aspirational.
Headline numbers
- Messages/day
- ~10k
- through the Message Center
- Daily users
- ~6k
- across three portals
- Faster P95
- 40%
- 7.1s → 4.3s on low bandwidth
- Fewer errors
- 60×
- 1.2% → 0.02% error rate
Career trace
Seven years, read as a waterfall.
Bar widths are proportional to actual tenure. Each nested span is one shipped outcome, what it involved, and the number it moved.
Trajector
Senior Software Engineer
Aug 2024 — Present · 2 yr 1 mo
Message Center
Architected and built a full-stack messaging platform unifying communications for 3 portals across 3 lines of business on a single shared database, shifting phone and email back-and-forth to async messaging.
~10k msgs/day · ~6k daily users · ~1,000 support hours saved/month
Customer tooling
Built the Payment Center, VA-Benefits Payment Calculator and Appointment Center in Next.js with SSR and Tailwind, with responsive, accessible UIs across devices.
+29% page interactivity
- Next.js
- Node.js
- AWS Lambda
- MongoDB
- Tailwind CSS
Jio
Software Engineer II
Feb 2023 — Jul 2024 · 1 yr 6 mo
Design-token pipeline
Built a Node scraper that pulled design tokens from the Figma API into a generated TypeScript module, eliminating design-to-code drift bugs.
~2 hrs/release → near-zero
Scheduled digest service
Replaced a proposed 24/7 EC2 cron with a Python/Django service on Azure timer-triggered Functions, delivering reliable weekly digest emails.
~95% cost reduction
504 investigation
Diagnosed intermittent 504s across a React → Node BFF → Django/Azure chain using OpenTelemetry correlation IDs and HTTP keep-alive tuning.
error rate 1.2% → 0.02%
- React
- Node.js
- Django
- Azure Functions
- OpenTelemetry
Paytm Payments Bank
Software Engineer
Jun 2019 — Jan 2023 · 3 yr 8 mo
Low-bandwidth performance
Cut P95 page load for branch staff on constrained networks via Brotli compression and HTTP/2.
7.1s → 4.3s (40% faster)
RBI-compliant testing platform
Built an employee testing platform with immutable attempt records; shipped 5 days ahead of the regulatory deadline and passed the RBI audit on first review.
~1,500 employees onboarded in week one
Data-loss fix
Refactored Mongoose schemas to atomic $set/$inc operations with optimistic-concurrency versioning, ending a recurring class of production incidents.
~10 incidents/month → 0
- Node.js
- MongoDB
- Mongoose
- JavaScript
Building now
Two projects, honestly scoped.
Neither is deployed or pushed public yet, so each card lists only what actually runs today. The moment a repo goes up, its link appears here.
- 01In progress
AskMyDocs
Retrieval-augmented Q&A over your own documents.
A RAG system built around the part that actually decides answer quality: the retrieval layer. Per-user chunks with 1536-dimension embeddings sit behind an HNSW cosine index, with user_id denormalised onto chunks so a tenant-filtered vector search stays a single index scan rather than a join.
Running today
- Postgres 17 + pgvector schema with an HNSW cosine index over 1536-dim embeddings
- Content-hash caching so re-uploading an unchanged file skips re-embedding entirely
- A queued → processing → ready | failed ingestion state machine
- Grounded answers from a locally hosted LLM with context-only prompting and an explicit “not in your documents” fallback
TypeScriptNext.jsPostgreSQLpgvectorDrizzleDockerOllama - 02In progress
ChatQ
The same chat service, modelled two ways: broker and RPC.
A multi-client pub/sub chat service on a RabbitMQ fanout exchange with per-client exclusive queues — then the same contract re-modelled in gRPC, specifically to feel the difference between broker-based delivery and direct RPC rather than read about it.
Running today
- RabbitMQ fanout exchange over AMQP/TLS with per-client exclusive queues
- JSON envelopes carrying a UUID correlation ID through structured pino logs
- Defensive parsing and self-echo filtering at the consumer boundary
- A parallel gRPC/Protobuf contract with unary send and server-streaming subscribe
Node.jsRabbitMQgRPCProtobufpino
Open to work
Hiring for something that has to stay fast under load?
I'm open to senior and staff full-stack roles, remote or in India. The quickest way to start is a short email about the problem you're trying to solve.