Waybill shipment tracking API
A shipment tracking API for a made-up freight broker in Columbus, Ohio. Trucks move along real US interstate routes in real time, and every change becomes an event, a signed webhook and a line in the request log. The console you click around in is just another client of the public API.


- A REST API in Spring Boot on Java 25: shipments, carrier events, carriers, webhooks and public tracking, with API keys, idempotency keys, ETags, cursor pagination, rate limit headers and problem-details errors
- A simulator where each load's position, trailer temperature and ETA follow from its route and the clock, so a sandbox can be fast-forwarded with a test clock and still land in the same place
- Signed webhooks sent from an outbox, with retries from 15 seconds up to an hour and replay. A built-in request bin can act like a flaky receiver so you can watch the retries happen
- A private, seeded sandbox for every visitor, with its own test API key, request log and webhook log
- A React console with a live load board and map, a 4×6 shipping label, and an inspector showing the exact API response and webhook behind each screen, plus a public tracking page for the person receiving the freight
- Compiled to a GraalVM native image that starts in under a second, built for x86 and ARM in GitHub Actions, and running on AWS EC2 (Graviton) with MySQL behind a Cloudflare Tunnel
Java, Spring Boot, MySQL, React, TypeScript, Docker, AWS EC2