Case #003

Milla 360 — Real-time Logistics

Milla 360: last-mile logistics with real-time tracking — an own product, built by a team of three with Nacho as tech lead. Check the crossed-out note:…

Technologies

MILLA 360

Last mile · TypeScript · own product

Last-mile logistics platform with real-time tracking, built freelance by a team of three. My role was hybrid: tech lead, task planning, and design of the visual identity and the site. We owned the whole cycle: brand, architecture, code, QA and client negotiation.

polling every 10s → does NOT scale

Discarded path

Discarded path: polling positions every 10 seconds choked the database with ~30 couriers and the map still felt stale. Lesson: you can't brute-force real time.

WEBSOCKETS

push, not pull · ms latency

The pivot: couriers push their position over a WebSocket and the server broadcasts only to whoever watches that shipment. Seconds became milliseconds and the DB stopped being the bottleneck. Every status change also fires real-time WhatsApp and email notifications.

live fleet

The ops map: the whole fleet live, shipment dispatching and per-courier metrics. Operations dropped their spreadsheets within the first month.

PostgreSQL + Prisma

shipments as a state machine

Each shipment modeled as a state machine (created → assigned → en route → delivered) with an auditable history. Around the shipment: real-time quoting, billing with prepaid and current-account plans, and a full historical record. End-to-end domain typing with Prisma.

UPKEEP COSTS NEXT TO NOTHING

clients keep coming back

The challenge we set ourselves: near-zero maintenance cost without giving up performance or dynamism. At local scale the traffic cooperates, and the quality/price ratio came out so optimized the platform is almost free to run. Still in production — and clients keep calling for new features.

STACK

Full-stack Next.js — frontend and backend in the same repo — with Prisma over PostgreSQL, deployed on Vercel. TypeScript shared across layers: a small team can't afford friction.

Let's talk? I'm open to projects and opportunities.