Mar2026
State machines beat a pile of booleans
What moving a 50k-user app's flows to XState actually fixed, and the three places it was overkill.
I build the parts of the product that have to work: hiring platforms, payment flows, dashboards carrying tens of thousands of people.
Start a projectFrom data model to deployed UI. React and Node, typed all the way through, tested where it counts.
Slow front ends, failing payments, downtime, a codebase nobody wants to touch. I've done all four.
One deployment serving many customers, roles and permissions, and LLM features that behave in production.
I'm a self-taught full-stack engineer from Tilottama, Nepal. I started writing JavaScript in 2018 to make a jewellery shop's stock stop living in a notebook.
Since then I've built software for schools, electricity boards, restaurants, marketplaces, hiring platforms. Most of my work is the load-bearing middle: the data model that has to be right, the state machine nobody sees, the payment path that can't drop a transaction.
I've led small teams, reviewed a lot of other people's code, and learned that clarity ships faster than cleverness. I work remotely with teams anywhere, mostly overlapping European and US mornings.
Took a security-critical CPD platform, 80% built by a non-technical founder with AI tools, from prototype to production as sole engineer.
Sole engineer on a skill-tournament platform with prizes: a 60 FPS React Native game engine, server-authoritative anti-cheat, Stripe and Apple IAP, concurrency-safe tournaments.
Sole engineer on an accredited data science certification platform. Proctored in-browser Python exams on JupyterHub, one isolated container per student.
Market research app in Next.js: component library from scratch, custom internationalisation, responsive across everything.
AI hiring platform: schedule-fit job matching, automatic offers safe to run unattended, and a dashboard cut from over a minute to under a second.
EV charging and parking operator UI; found and fixed the payment failure that was halving transaction success.
Learning network with 50,000+ users. Cut downtime 70%, moved complex flows to XState, reduced infrastructure spend.
Government result processing platform and a consulting CRM. Multi-tenant architecture, dynamic RBAC, code review.
Restaurant management suite: admin, customer, waiter and kitchen apps. Managed a small remote team.
Jewellery store inventory system and a community electricity billing platform for the local authority.
First professional years: invoicing and stock apps, vanilla JS migrated to React, web app shipped as desktop via Electron.
TypeScript JavaScript SQL GraphQL HTML CSS / Sass
React Next.js XState Zustand Tailwind Radix shadcn/ui React Native
Node.js Express Prisma Apollo Hasura Socket.IO REST JWT / OAuth
PostgreSQL MySQL MongoDB Firestore Redis Elasticsearch Supabase
AWS GCP Azure Vercel Docker CircleCI Netlify Monorepos
Jest Cypress E2E testing React Testing Library WCAG 2 Perf profiling
OpenAI API LLM agents Azure Speech Retrieval search Claude Cursor
Figma to React Design systems Code review Tech leadership Multi-tenant design
Shipped in a case study
Mar2026
What moving a 50k-user app's flows to XState actually fixed, and the three places it was overkill.
Jan2026
Coverage is a bad goal and a useful constraint. How I kept it on a production app for two years.
Nov2025
Speech-to-text was 85% accurate. The product needed to feel 100%. Notes on building the gap into the UX.
Tell me the problem, the constraint and the deadline. I'll tell you honestly whether I'm the right person, and if I'm not, I probably know who is.