The challenge
A growing logistics business ran its daily operations on a shared spreadsheet that had quietly become mission-critical. It had no validation, no history, and broke whenever two people edited it at once. As volume grew, errors and delays multiplied.
Discovery
Rather than rebuild the spreadsheet feature-for-feature, discovery focused on how the team actually worked and which steps caused the most pain — data entry, status tracking, and the daily report assembled by hand.
The solution
A focused internal application replaced the spreadsheet: structured data entry with validation, real-time status across the operation, role-based access, and automated daily reporting. It shipped as a small first version and grew based on real usage.
Architecture
A Next.js application with a PostgreSQL database, background jobs for reporting, and role-based access control. Deployed with automated releases and monitoring so the operations team could depend on it.
What we learned
Starting with the smallest useful version — not a full rebuild — got value into the team's hands quickly and kept scope honest.
Features delivered
- Validated, structured data entry
- Real-time operational dashboard
- Role-based access control
- Automated daily reporting
- Full history and audit trail
Outcomes
- Manual daily reporting effort effectively eliminated
- A single source of truth the whole team trusts
- A foundation that can grow with the business