Logistics Map
Find the closer driver.
A client was matching patients with drivers in the same city. Sometimes a driver across the city line was much closer. I built a tool that made those distances visible.

The problem
City names were a poor shortcut for proximity. The client needed to upload a spreadsheet, see drivers and patient pickup locations on a map, and compare their actual positions before booking a trip.
What I built
I built the original React/Redux and Flask application early in my career. This refresh adds a map-centered workspace, CSV/XLSX import previews, search, eligibility filters, distance comparisons, and CSV exports. The connected app keeps each account’s records separate; the public demo runs with fictional data in the browser.
What I learned
The first version taught me to turn a client’s everyday problem into working software. Revisiting it meant looking beyond the successful upload: missing addresses, duplicate rows, failed lookups, and who can access or delete a record. Those cases now have explicit handling and regression tests.
Engineering decisions
Distance, not city names
Drivers are ranked by straight-line distance, with inactive vehicles and incompatible accessibility options excluded. These are comparison aids, not road routes or travel-time predictions. Dispatchers still need to check schedules and capacity.
Review before importing
The preview flags invalid coordinates and skips duplicates. The connected app resolves addresses before saving the batch, so a failed lookup cannot leave half a spreadsheet in the database.
A demo without client records
The public workspace contains fictional locations. Imported demo files stay in the current tab and require coordinates; address lookup and saved accounts belong to the separately configured Flask application.
Verification
Automated checks cover proximity ranking across city boundaries, accessibility requirements, invalid imports, duplicate detection, account isolation, keyboard controls, and responsive layouts. Screenshots were captured from the working demo.