Built
Written and running against a live Postgres database — the board behind a signed-in session, the forms and the status page in the open. Where the arithmetic is unforgiving, unit tested. This is what exists.
- The dispatch board reading live loads: status, driver, customer, pickup, delivery, container, chassis, last free day, dollars at risk and the next appointment
- Six KPI tiles counted across the whole operation, not across the page you happen to be looking at
- Board status derived from the active move rather than stored in a column — sixteen states, with a container hold outranking whatever the driver is doing until the box is gated out
- Per diem and demurrage counted in calendar days on East Coast port time rather than on the server clock, and priced from the steamship line with a per-container override
- Demurrage and per diem kept apart, because a box in the terminal past its last free day and a box on the street are two different bills and never both at once
- Thirty-two unit tests over that arithmetic and the status derivation — fifteen on the money, seventeen on the states — including the day the clocks change: a container marked expired one day early is a phone call you cannot take back
- Last free day stored and served with the source it came from and the moment it was last refreshed, so the record never holds a terminal fact it cannot attribute — the API carries both today; the board prints the date and not yet the source beside it
- Row multi-select and select-all on the board, with the action bar it will drive
- Tenant isolation enforced by Postgres row-level security, not by a WHERE clause someone has to remember; the seed refuses to finish if one carrier can see another
- The active company read from the session and never from the request, with the role re-read from membership on every call so revoking access takes effect immediately
- A permission matrix of eight roles against twenty-two permissions, and per-person overrides that do not require inventing a new role
- The waitlist and contact forms — stored, mailed to a founder, honeypotted and rate limited by hashed IP
- A status page that reports only the two components it actually probes and says, in grey, why it cannot speak for the other six
Read path only. See the section below.