The problem
Harbor moved freight well. The office did not. Jobs lived in a spreadsheet, driver notes lived in WhatsApp, and by Thursday nobody trusted the numbers. The owner was the integration layer.
They didn’t want a “logistics platform.” They wanted Thursday to stop being a fire.
The approach
We mapped one real week — every status change, every phone call, every “just put it in the sheet.” Then we designed a board that matched their language, not a SaaS glossary. Drivers got a simple view. Dispatch got the truth.
The solution
A Vue and NestJS app: jobs, drivers, customers, and a live board with permissions that match the room. Exceptions are loud. The happy path is quiet. We migrated the old workbook in slices so the team never ran two systems for long.
The result
Dispatch is a morning pass, not an afternoon scavenger hunt. The owner still checks the board. They don’t have to rebuild it from memory. Harbor’s words: “We came in with a messy ops spreadsheet and left with a tool the whole team actually opens.”