Home/Case Studies/Delivery and logistics prospects (demonstration build)
Logistics · 2026

A Live Three-Role Delivery Prototype, Built in Two Days

Nexora built a working on-demand delivery prototype in two days: customer, shop and driver screens on one live event feed. It shows how the roles hand off orders and where the rules sit.

Delivery and logistics prospects (demonstration build)

A Live Three-Role Delivery Prototype, Built in Two Days

Client
Delivery and logistics prospects (demonstration build)
Industry
Logistics
Team

Results

3
Roles on one live feed
8
Order statuses
58 s
Scripted end-to-end run
2 days
Build time

What You Can Watch

Three roles run against one shared world: the customer who orders, the shop that accepts and dispatches, and the driver who collects and delivers. When the shop taps Accept, the customer’s screen changes in the same second, with no refresh and no polling. A 58-second scripted run plays one order from placement to signed-for delivery, with the three screens side by side.

Logistics illustration
Three Roles, One Shared World
Customer, shop and driver all run against one shared live world and see changes in the same second.

Business Rules That Are Real

The prototype enforces the rules a delivery operation depends on. Stock is reserved when the shop accepts, all or nothing, and a short line is reported by name. The shop decides who drives, and drivers cannot grab jobs themselves. Auto-assign ranks idle drivers by travel time to the shop, and a delivery cannot close without a recipient’s name.

  • Eight order statuses, one direction of travel
  • Cancellation only while an order is Placed or Accepted
  • Each role sees only its own orders, enforced on the server for every event

Built to Carry Into an MVP

Every state change goes through four steps: who is asking, are they allowed, is it valid now, and tell every screen. That logic lives in a small plain-TypeScript core with unit tests and no framework attached. Writes accept an idempotency key and an expected version, so a double tap replays the first answer and a stale screen gets a conflict instead of overwriting newer work.

Every State Change, Four Steps
Each state change passes four checks, held in a small plain-TypeScript core.

Resilient Live Updates

All screens read one event stream. If the connection drops, the stream resumes from the last event the browser saw. After a long gap, the screen fetches a fresh snapshot rather than guessing. The presenter controls can cut the connection for eight seconds to show this live, and the screen reports that nothing was lost.

What Was Left Out on Purpose

There is no database, no real sign-in, simulated GPS, cosmetic routing and no payments, pricing, notifications or native apps. All names and addresses are fictional, and the map uses a real street network only because the seed data needed one. Nexora lists these gaps in the walkthrough guide so that nobody mistakes the demo for a finished product.

Path to a Real MVP

The middle of the prototype is the part worth keeping: the state machine, permission checks, stock rules and dispatch ranking. Replacing the in-memory store with PostgreSQL and the simulated positions with a driver app changes the edges, not the core. The natural next step is a short call about what is wrong with it for the prospect’s market.

Next.jsTypeScriptServer-Sent EventsOrder State MachineRole-Based AccessDispatch RankingIdempotent APIs
← All case studies

Got a similar project?

Tell us about it. First consultation is free.

Book a call