About
I grew up in Kathmandu and came to India on a scholarship to study engineering. I stayed.
For the last six years I've been at the Vipassana Research Institute in Mumbai, building the systems a few hundred thousand people quietly depend on — mobile apps, a feedback platform used across five sites, the Linux servers behind all of it, and the course machines we configure here and courier out to centres.
Alongside that I take on contract work. Right now I'm the only engineer on a hospital ERP in western Nepal. I designed it, built it, deployed it, and I'm the one who hears about it when something breaks at nine in the evening.
My master's research was on a narrower question: how do you make a language model answer from evidence rather than invention, and prove which evidence it used. That problem — making generated output trustworthy enough to actually ship — is what I'd like to spend the next few years on.
Selected work
A hospital ERP, running live in Nepal
- Role
- Sole engineer
- Client
- Nova Hospital, Dhangadhi
- Period
- 2026 — present
- Status
- Live in production
The hospital was managing purchasing, stock and requisitions on paper and spreadsheets. I replaced that with a system covering the whole chain: incoming goods across normal, lab and fixed-asset classes, purchase orders and vendors, a real-time stock register with expiry alerting, and multi-level requisition approval with PIN-based release, so every movement is authorised and auditable.
It speaks the local language of business too — Bikram Sambat dates, VAT reporting — because a system nobody can file with is a system nobody uses. I own the architecture, the deployment and the maintenance, and I ship to it most weeks based on what the staff tell me.
Next.js 14 · TypeScript · Express · Prisma · PostgreSQL · Tailwind · React Query · VPS under PM2
One platform where five were asked for
- Role
- Design & build
- Scale
- 5 units, one system
- Site traffic
- 2–3k daily, 20k peak
- Status
- Live in production
Five units each wanted their own feedback tool — the pagoda, the meditation centre, the guest house, the souvenir shop, the food court. Building five would have eaten the roadmap and left five things to maintain, so I built one configurable platform that serves all of them.
It collects by QR across a site taking two to three thousand visitors a day, and up to twenty thousand on festival days. Trustees get an automated weekly summary that nobody has to assemble by hand.
React · Node.js · MySQL · Linux · multi-tenant architecture
Three apps, a hundred thousand installs
- Role
- Owner, end to end
- Installs
- 100,000+
- Rating
- 4.7 ★ / 4.5 ★
- Platforms
- Android & iOS
Vipassana Meditation, AT Vipassana and Global Vipassana Pagoda. I own the portfolio end to end — features, store releases on both platforms, and the troubleshooting when something misbehaves for someone in a different timezone.
The flagship is rated 4.7 on Android across five thousand reviews, and 4.5 on iOS.
React Native · Play Console · App Store Connect · release management
Making a model show its working
- Type
- MSc thesis
- Institution
- Liverpool John Moores
- Period
- 2025 — 2026
- Result
- Awarded Merit
Graph RAG grounds a model's answer in a subgraph pulled from a knowledge graph. Retrieve too little and the reasoning path is missing; retrieve too much and the noise pushes the model into inventing things. I built a layered pipeline — pruning by question context, expanding along the relations the question implies rather than blindly by hop count, then denoising twice.
Two-hop, relation-guided, turned out to be the sweet spot. The part I care about most: every answer traces back to the subgraph that produced it.
Python · retrieval-augmented generation · knowledge graphs · LLM evaluation
HOLD — a live toy built to survive going viral
- Role
- Sole engineer
- Built in
- One weekend
- Origin load
- ~1 req/sec at any scale
- Status
- Live
One crown, one button, longest reign wins. The game is not the point — the traffic shape is. A toy like this goes from nothing to thousands of concurrent users in minutes, and free tiers do not forgive that.
Ten thousand people polling every two seconds is five thousand requests a second. By caching reads at the edge for one second, that becomes one request a second at the origin — the CDN absorbs the crowd and the database never sees it. Presence uses HyperLogLog, so the live visitor count costs a fixed 12 KB whether ten people show up or ten million.
Read how it was built · play it · source
Next.js · edge caching · Redis · HyperLogLog · rate limiting
An open-source Nepali calendar library
- Type
- Open source
- Package
- Live on npm
- Coverage
- BS 2000 — 2090
- Tests
- 3,276 round-trips
Every application built for Nepal eventually needs Bikram Sambat dates — invoices, VAT filings, hospital records. The conversion isn't arithmetic: month lengths vary between 29 and 32 days with no formula, so it needs a lookup table per year.
I extracted the one I built for the hospital ERP into a library. Zero dependencies, TypeScript types, and it throws rather than returning a wrong date outside its supported range — because a silently incorrect date on a tax filing is worse than a failed one. Published as nepali-date-lite on npm; source on GitHub.
JavaScript · ESM · TypeScript declarations · zero runtime dependencies
What I'm doing now
Running the Nova Hospital ERP in production and shipping to it most weeks.
Taking on a small number of remote contract engagements. I have roughly two focused hours a day outside my role at VRI, and I'd rather do one thing properly than three badly.
Turning the retrieval work from my thesis into something deployed rather than written up.