MedRoute
Solo Full-Stack Developer · FreelanceSep 2026Real-time courier platform for medical samples — live dispatch, driver GPS tracking and a chain-of-custody audit trail between clinics, labs and a warehouse.
- Java 21
- Spring Boot
- WebSocket
- React
- TypeScript
- PostgreSQL
- Leaflet
- Docker
Overview
MedRoute replaces phone calls, WhatsApp location pins and spreadsheets for a US healthcare logistics company that moves medical samples and cold packages between clinics, labs and a central warehouse. I built the MVP solo as a freelance project: a Spring Boot 3.5 / Java 21 API with STOMP WebSockets, a React 19 + TypeScript front end with Leaflet maps, and a Flyway-managed PostgreSQL schema — shipped on time as a single Docker image ready for staging and production.
Results
Challenge
Dispatchers coordinated urgent sample pickups by phone and chat, with no live view of drivers, no record of who handled a sample, and no warning when a cold package left its temperature range.
Solution
One system with four role-based apps — a dispatcher console with a live map and job board, a mobile-web driver app that streams GPS, a clinic portal for pickup requests, and a public tracking page — on top of a strict job lifecycle with an append-only custody log.
Key technical decision
Every status change writes an append-only custody event (who, when, GPS position, temperature) instead of overwriting the job. Clinics get an audit trail they can trust, late jobs and temperature excursions become simple queries, and the API rejects invalid transitions with a 409 — with optimistic locking so two dispatchers can't overwrite each other.
Highlights
- Live dispatcher map and job board over STOMP WebSockets, with KPIs for unassigned, late and temperature-alert jobs
- Driver mobile web app: GPS every 5 seconds, next stop with ETA, one-tap navigation and proof of delivery
- Server-enforced access control — clinics see only jobs touching their site, drivers only their own
- Temperature classes with automatic excursion flags, and SLA deadlines from priority (STAT 1 h, urgent 2 h, routine 4 h)
- Public tracking links secured by an unguessable 16-character code that exposes no personal data
- One Docker image (React served by Spring Boot), Flyway migrations, and a demo simulator for client walkthroughs
“Joshua was easy to work with. He understood what we needed, suggested a clear way to get there, and delivered on time. Communication was good throughout, and he was quick to reply when we had questions. The work was solid and well organized. Would definitely hire him again.”
Private client work — screenshots show fictional demo data. Happy to walk through the code and a live demo on a call.