The original description
« We're two mechanics. Each repair order concerns a client's vehicle, with a diagnosis, work items, parts used, hours spent and a status: received, diagnosed, approved, in progress, done, invoiced. Some orders wait on parts. I want today's workshop, orders waiting on parts and the week's billable. »
The plan validated before generation
Before writing a single line, Blueprint Maker turns this description into a plan you validate. For GarageClair, the proposed plan fits on one screen: five entities: Repair order, Vehicle, Client, Part, Mechanic: and their links: an order concerns a vehicle, a vehicle belongs to a client, an order uses parts and involves a mechanic.
The statuses inferred from the text also appear in the plan: a repair order goes through received, diagnosed, approved, in progress, done, invoiced. The three requested indicators (today's workshop, orders waiting on parts, this week's billable) are spelled out. If something is missing or superfluous, you fix it here, what gets built is what was announced.
- Entities: Repair order, Vehicle, Client, Part, Mechanic
- Relations: order → vehicle; vehicle → client; order → parts; order → mechanic
- Statuses: received / diagnosed / approved / in progress / done / invoiced
- Indicators: orders in progress by status, orders waiting on parts, billable hours this week
Navigation: one section per entity
The generated application opens on a clean sidebar: Dashboard, Repair orders, Vehicles, Clients, Parts. Each section leads to a list: not a workshop notebook, a real application list: a search field at the top, columns sortable in one click, pagination.
The repair order list shows the vehicle, the client, the status as a colored badge, the received date and the billable amount right-aligned in currency format. An order waiting on parts stands out immediately. On the vehicles side, a client filter and sorting by last intervention date put the history back in your hands in two clicks.
The vehicle record, with its full history
Clicking “Peugeot 308 — AB-123-CD” opens its record: plate, client (clickable: it leads to the client record), mileage, and above all the part that changes everything compared to the notebook: the repair order history of THIS vehicle, as a dated table: March 14, clutch replaced, €320 invoiced; June 2, service, €145 invoiced.
That linkage is not cosmetic: it comes from the generated relational database. A client calling back about their clutch is found in one click, the question that used to cost the workshop notebook dearly disappears.
Entering a repair order
The “New order” form is short because the structure does the work: the vehicle is picked from a dropdown (no plate retyped by hand, so no typo), the status is a choice among the six defined values, parts used are added one by one with their quantity, and a diagnosis field holds the mechanic's free text.
On save, the order list, the vehicle record and the dashboard all reflect the entry, every screen reads the same database.
The dashboard: the pitch's numbers, computed on the database
The dashboard carries exactly the indicators requested in the description: orders in progress broken down by status, the number of orders waiting on parts, this week's billable hours, and vehicles delivered this month.
These numbers are queries on the database, not manual entries: every status change or added part updates them. A simple chart sits alongside the tiles, the breakdown of orders by status, with no theatrics: the goal is to answer the pitch's questions every morning.
Demo data: judging on full screens
GarageClair arrives filled: several months of simulated activity, some thirty vehicles with plausible plates, about twenty clients, repair orders at every stage and varied parts: including, deliberately, a few orders waiting on parts so you can see the filter at work.
That's a deliberate choice: you don't judge a management tool on empty tables. The demo data is then cleared to make room for the real thing. The application lives at its dedicated URL, and its complete source code exports (ZIP or GitHub push), standard Next.js + Prisma.
