Skip to content
Sample content — for template preview only, not a real project or article.

2025

Fleet Tracking Dashboard

Gave a logistics team real-time visibility into vehicle location and delivery status instead of relying on manual phone check-ins.

Role

Full-stack Engineer

Status

Production

Context

A logistics team was tracking deliveries by phone call and spreadsheet, which made it hard to know where a vehicle was at any given moment or explain delays to customers.

My responsibility

Owned the project end-to-end: data model, ingestion API, dashboard UI, and the server it runs on.

Constraints

Drivers had inconsistent phone connectivity, so the system had to tolerate delayed or out-of-order location updates without corrupting the live view.

System

Driver app
Location ingestion API
Queue
PostgreSQL
Dispatcher dashboard (React)

Engineering decisions

Buffered ingestion instead of direct writes

Location pings are queued and processed in order per vehicle, so late-arriving updates don't overwrite newer state.

Server-sent events over WebSockets

The dashboard only needs one-way updates, so SSE kept the infrastructure simpler than a full WebSocket layer.

Problems encountered

Duplicate location pings under poor signal

Retried requests from the driver app occasionally created duplicate pings, briefly showing a vehicle jumping between two points.

Solution

Added an idempotency key per ping on the client and de-duplicated on ingestion before it reached the queue.

Result

[Add measurable result once available]

Technology

React, Node.js, PostgreSQL, Docker, Nginx

Reflection — what I learned

Building for unreliable networks up front saved a lot of rework later — most of the hard bugs came from timing and ordering, not the UI.

Behind the build

Originally deployed as a single Node process on a small VPS. Split the ingestion worker out once dashboard traffic and location processing started competing for the same event loop.