All case studies

Operations platform MVP in twelve weeks

Replaced spreadsheet-driven dispatch with a real operations platform, shipped as a focused MVP and extended from live usage.

Operations platform MVP in twelve weeks interface

The problem

Dispatch ran on shared spreadsheets. Nobody could tell which jobs were late, drivers were coordinated by phone, and monthly invoicing took a week of manual reconciliation.

Challenges

  • Operations could not stop for a rollout — the old process had to run in parallel
  • Field connectivity is unreliable, so the driver view had to tolerate dropouts
  • Invoicing rules were tribal knowledge, not documentation

What we built

  • Dispatch board with job states, assignment and exception flags
  • Mobile-friendly driver view with offline-tolerant status updates
  • Automated invoice generation from completed jobs
  • Role-based access for dispatchers, finance and management

Architecture

  • NestJS API with an explicit job state machine — no free-text statuses
  • PostgreSQL as the single source of truth, with an append-only job event log
  • Queued invoice generation so month-end never blocks the app
  • Docker Compose in staging, AWS in production, GitHub Actions for CI/CD
NestJSPostgreSQLReactDockerGitHub ActionsAWS

Key engineering decisions

An event log, not just current state

Every job transition is stored as an event. Disputes are answered from history, and reporting was built later with no schema change.

Codify invoicing rules in one place

We extracted the finance team's rules into a single tested pricing module, so a rule change is a config edit plus a test, not a code hunt.

Results

  • Month-end invoicing dropped from days of manual work to a scheduled job
  • Dispatchers see late jobs as they happen instead of at end of day
  • The MVP scope shipped in twelve weeks and is still the core of the platform

Request a set of drawings for your own project.

One business day for a reply from an engineer, not a sales pipeline. Tell us the problem and we'll tell you honestly if we're a fit.

Rev. 01Book a call