← Selected workIndependent concept

GarageBoard

A service-desk workspace that turns a workshop's day into one screen: what is due, where every vehicle is, and what the next action is.

Operations softwareDomain modellingVue 3 + TypeScript
GarageBoard interface overview
01

The problem

Small workshops run the day on a whiteboard and a phone. Nobody can answer the three questions that actually matter — what needs attention now, where is this vehicle, and what is the next action — without asking someone.

02

Constraints

A service desk is used standing up, between jobs, often one-handed. The interface has to survive interruption: every state recoverable, every destructive action undoable, and the whole workflow reachable from the keyboard.

03

The solution

One store owns the work-order state machine and every transition; views only read derived data, so a rule can never be implemented twice. Search, stage filters, and a job drawer keep assignment and progress in the same place.

04

Key features

  • Work-order state machine with reversible stages
  • Command-palette search across vehicle, plate, customer and service
  • Two-step validated intake
  • Five-second undo on every destructive action
  • Printable A4 work-order sheet
  • Technician load reporting with CSV export
05

Technical implementation

Vue 3 with the Composition API and strict TypeScript, Pinia for the workflow store, Vue Router for lazy-loaded views, and Vitest covering the state transitions. The workshop-load gauge is a hand-built accessible SVG rather than a charting library, and the storage key is versioned so a future schema can migrate safely.

Vue 3TypeScriptPiniaVitest
06

Outcome

A complete, working operations interface with the workflow rules held in one tested place. Vehicles, customers and workshop data are demonstration content, so no commercial results are claimed.