Project
Logistics company needed visibility into their fleet. The existing system was a spreadsheet updated manually by dispatchers. We built a live dashboard.
Frontend
React with WebSocket for real-time updates — vehicle positions, delivery status changes, driver alerts. Redux for state management (it was 2017).
Charts with Recharts. Map with Leaflet.
Backend
Spring Boot API consumed by the React frontend. SSE for status push, REST for commands. Connected to the existing Oracle DB via JPA, which was... an experience.
Lessons
Real-time dashboards expose latency budget problems you don't see in request/response flows. Database queries that were "fast enough" for batch reports become blockers when you're pushing updates at 2-second intervals. Index your status and timestamp columns before launch, not after.