all projects
Hyper-Local Marketplace POS preview

Hyper-Local Marketplace POS

Privateweb

Multi-vendor delivery POS for hyper-local marketplaces. Vendor onboarding, real-time order routing across vendors, and live delivery tracking with rider assignment.

React.jsNode.jsMongoDBWebSockets
Coordinating dozens of vendors and riders in real time, without the chaos.

The problem

Hyper-local marketplaces (think 'Dunzo for your apartment block') have to coordinate orders across many small vendors and a fluid pool of riders in real time. Polling APIs every few seconds is wasteful, error-prone, and turns into a UX nightmare the moment a rider's GPS drifts.

The approach

Built the operational backbone around WebSockets: every vendor dashboard, rider app, and customer order page is on a live channel. Order routing is a server-side rule engine that assigns the right rider based on proximity + current load. Customer sees the rider on a live map without polling. Vendor sees incoming orders the instant they're placed.

Tech decisions

WebSockets across all three personas
Polling falls apart at this density; WS gives sub-second state propagation with low server cost
MongoDB
Order documents have variable shape (per vendor, per category); document store fits without ORM acrobatics
Rule-based rider assignment
Transparent + tunable; an ML routing model would be overkill at this scale
Live map with delta updates
Customer sees movement, not a polling skeleton; perceived quality is dramatically higher

Outcomes

  • Sub-second order propagation from customer → vendor → rider
  • Live rider tracking with delta updates (no map flicker)
  • Auto-assignment based on proximity + rider load
  • Multi-vendor dashboard for the marketplace operator

What I learned

At this scale, WebSockets aren't a 'nice to have' — they're the difference between a usable product and a frustrating one. Polling carries hidden costs: server load, perceived lag, edge-case race conditions that don't show up in dev.