Work
Every claim here has a number attached to it.
Two live products, three roles across payments, telecom and benefits, and the long version of three things I shipped. Nothing on this page is aspirational.
Headline numbers
- Messages/min
- ~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
Products
Shipped and clickable.
The first two are live and running for real users. The third is in progress, and its card describes only what actually runs today.
- 01Live
International French Academy
Live EdTech platform for French classes and TEF/TCF/DELF exam prep.
Led development end-to-end: a React SPA over a Node and Express REST API covering courses, tutors, class scheduling, testimonials and lead capture, with a JWT-authenticated dashboard that role-gates student and admin surfaces. It is the MERN stack carrying a system real users pay to use, rather than a demo.
Running today
- React SPA on Vite with Material UI, and react-helmet-async driving per-route canonicals and meta
- Node and Express REST API across auth, users, tutors, classes, books, testimonials and enquiry
- JWT auth with a role-gated dashboard separating student and admin surfaces
- MongoDB, deployed on Ubuntu behind nginx with credentialed CORS, CSP and X-Content-Type-Options
- Technical SEO built in: sitemap, robots rules excluding /auth and /dashboard, Open Graph and Twitter cards, schema.org JSON-LD on course pages
ReactViteMaterial UINode.jsExpressMongoDBJWTnginx - 02Live
Flohum
My own live tool suite for freelancers, importers and small businesses.
Free tools with no signup: an HSN code finder, per-country HS code lookup and a GST-compliant PDF invoice generator. The interesting part is the rendering strategy: around 100 country pages come from a single dynamic route, statically generated and revalidated on the edge rather than hand-authored.
Running today
- Next.js App Router on Vercel, 117 URLs in the sitemap
- ~100 /tools/trade/hs-code-lookup/<country> pages from one dynamic route via generateStaticParams with ISR
- Served from Vercel's edge cache: programmatic SEO rather than hand-written pages
- HSN code finder, per-country HS code lookup and a GST-compliant PDF invoice generator
Next.jsApp RouterTypeScriptSSGISRVercel Edge - 03In 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
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 2 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/min · ~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
Case studies
Problem, constraint, decision, number.
Three pieces of work in full, including what I would do differently with hindsight.
- Trajector · 2024 - presentMessage Center~10k messages/min · ~6k daily users · ~1,000 support hours saved per monthThree portals across three lines of business each handled customer communication their own way, mostly by phone and email. I architected and built the platform that replaced that with async messaging on a single shared database.Read the case study
- Jio · 2023 - 2024The 504 investigationError rate 1.2% → 0.02%Requests failed intermittently somewhere along a React → Node BFF → Django → Azure chain. No single service looked broken in isolation, which is exactly what made it expensive.Read the case study
- Paytm Payments Bank · 2019 - 2023Low-bandwidth performanceP95 7.1s → 4.3s (40% faster)Around 1,500 branch staff used an internal tool all day, on networks and hardware nothing like the ones it was built on. P95 page load was 7.1 seconds.Read the case study
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.