MSN-03 // MISSION DOSSIER
SubhYatra
Production-grade ride-hailing for Janakpur: unified passenger/driver roles, instant switching, dynamic pricing.
THE PROBLEM
Ride-hailing in Janakpur meant either informal arrangements or apps built for other cities' assumptions. Drivers had no reliable demand, passengers had no accountability or price transparency, and the rigid passenger-versus-driver split most platforms enforce doesn't match how people in the city actually work — many are both, depending on the day.
THE APPROACH
Built a unified account model where a single user holds both passenger and driver roles and can switch instantly, instead of forcing two apps and two identities. This is the core product decision the rest of the system is shaped around.
Put PostGIS underneath location and matching so proximity queries stay correct and fast as the map fills up, rather than bolting geo logic onto a plain relational schema later.
Ran live positioning and trip state over Socket.IO on a Bun and Express 5 backend, keeping the real-time path separate from ordinary CRUD so a traffic spike in one can't stall the other.
Delivered the whole surface — React Native app via Expo, Next.js admin console, backend and infrastructure — as one system rather than stitching together separate vendors.
STACK
OUTCOME
Brings international-standard ride-hailing mechanics — dynamic pricing, trip accountability, driver earnings visibility — to a city that had been skipped by the platforms operating elsewhere in the country. In active build.
NO PUBLIC DEPLOYMENT LINKED.