Brightwell Freight · 2024

Replacing 14 spreadsheets with one dispatch dashboard

A regional freight company ran dispatch, driver hours and invoicing across 14 shared spreadsheets. We replaced them with one dashboard that dispatchers open at 6 a.m. and close at 7 p.m.

  • Remix
  • Postgres
  • Row-level security

The problem

Brightwell moves pallets for about 300 business customers with a fleet of 46 trucks. Dispatch lived in a shared spreadsheet, driver hours in another, rate cards in a third, and so on, fourteen in all. Formulas referenced other files by path. When someone renamed a folder in March, invoicing broke for four days before anyone noticed.

The finance team spent roughly 22 hours a week reconciling delivered jobs against invoices, and 3 to 4% of jobs were never billed at all. Dispatchers kept a paper notebook as a backup because they did not trust the sheet during busy hours. The owners did not want a large logistics platform with a two-year contract. They wanted their own process, without the spreadsheets.

Process

  1. 01

    Model the work, not the sheets

    Copying the spreadsheets into a database would have kept their problems. We mapped the life of one job, from quote to proof of delivery to invoice, and found the same customer stored five different ways. We designed a Postgres schema around jobs, legs and stops, and wrote migration scripts that flagged 1,140 duplicate customers for a human to merge.

  2. 02

    One screen for the morning rush

    Dispatchers use the tool for twelve hours straight, so we optimised for keyboard use and density over looks. The board shows today's jobs by truck with drag to reassign, and every action has a shortcut. We used Remix for server-rendered forms that stay usable on the warehouse's old PCs, with optimistic updates where speed mattered.

  3. 03

    Billing straight from the job

    A job marked delivered now creates a draft invoice line with the right rate card, fuel surcharge and waiting time. Finance reviews a queue instead of a spreadsheet. We ran both systems in parallel for three weeks and compared outputs nightly, which caught two rate card errors that had been in the old sheets for over a year.

01Dispatch board: today's jobs by truck, drag to reassign
02Jobs, legs and stops: the schema that replaced 14 files
03Migration dry run flagging 1,140 duplicate customer records
04Finance review queue with draft invoice lines from delivered jobs
05Nightly parallel-run diff between old sheets and the new system

Outcome

The spreadsheets were archived in week ten. Reconciliation dropped from 22 hours a week to about four, and unbilled jobs fell from 3–4% to under 0.2%. The recovered revenue paid for the project in seven months. The paper notebook retired itself in the second week.

−18 h
weekly reconciliation time
<0.2%
jobs left unbilled
7 mo
payback period
I used to dread month end. Now I review a queue on the 1st and I am done by lunch. We also found money we did not know we were losing.
Helen MarshFinance Director, Brightwell Freight

Tell us what is slow, broken or still in a spreadsheet

Send a short brief. Within two working days you get a reply from an engineer, not a sales rep, with first questions and a rough range.

Booking projects from February 2027

Live demo · Parcel & Pine— View template →