Automotive
Repair orders for a car workshop
A car workshop opens a job per vehicle, records the diagnosis, the parts used and the labour hours, and sends the customer a quote to approve from their phone before work starts. The customer sees the status of their car without calling.
Automatically generated draft
Written by machine against our own engineering playbook. The company is invented; the decisions are the ones we would make on a real build. A reviewed blueprint goes further — nine sections, agreed line by line, and it is what the build is tested against.
Section 01 · What has to work
The core of the product is getting a customer's approval on a specific quote from their phone before any work begins on their vehicle.
Section 03 · Screens
Every screen, and what it is for.
- ›Job Board — Workshop staff view all jobs, their status, and what needs action next. Must instantly reflect status changes. — Workshop Staff, View all jobs, see their status, and identify the next required action., Instantly reflect status changes from other users or customers.
- ›Job Detail — Workshop staff diagnose, add parts and labor, and generate the quote. Saving line items must be instant. — Workshop Staff, Enter diagnosis details, add parts and labor line items, and generate a quote., Saving a new part or labor line item.
- ›Quote Approval — Customer views the itemized quote and approves or rejects it. The page must load instantly from a link. — Customer, Review the itemized quote and tap 'Approve' or 'Reject'., Loading the quote details on a mobile browser.
- ›Customer Status — Customer checks the live status of their job. The current status must be instantly visible. — Customer, View the current stage of their vehicle's repair., Displaying the correct, up-to-the-minute job status.
Anything not on this list is not in version one. That is what keeps a fixed price fixed.
Section 04 · The data model
What it stores, and who can read a row.
Job
id uuid, vehicle_id uuid, customer_id uuid, status enum('Intake', 'Diagnosis', 'Awaiting Approval', 'In Progress', 'Ready', 'Complete', 'Declined'), diagnosis text, created_at timestamptz
Access · Staff can read all jobs. Customers read jobs linked to them.
Customer
id uuid, name text, phone_number text, created_at timestamptz
Access · Staff can read all customers. A customer can read their own record.
Vehicle
id uuid, customer_id uuid, license_plate text, make text, model text, year int
Access · Staff can read all vehicles. Customers can read vehicles they own.
Quote
id uuid, job_id uuid, status enum('Draft', 'Sent', 'Approved', 'Rejected'), sent_at timestamptz, decision_at timestamptz
Access · Staff read all quotes. Customers read quotes for their own jobs.
LineItem
id uuid, quote_id uuid, type enum('Part', 'Labor'), description text, quantity numeric(8,2), unit_cost_cents int
Access · Staff read all line items. Customers read items on their quote.
Those access rules belong in the database, not in the screens. Someone who edits the address bar still cannot read a row that is not theirs — and the test that proves it blocks delivery if it fails.
Section 05 · States
Intake → Diagnosis → Awaiting Approval → In Progress → Ready for Pickup | Declined
Most scope arguments three weeks into a build are really arguments about a state nobody named at the start.
Section 06 · Where this breaks
What bites products like this one.
A mechanic adds parts on a device with intermittent workshop Wi-Fi, leading to data loss or sync conflicts with the front desk.
UI will queue updates locally and sync when connection is restored, indicating a pending state to the user.
A customer approves a quote digitally, then immediately calls to cancel, but the mechanic has already started work based on the app.
Log all customer state changes with timestamps. Reversing an 'Approved' state requires explicit action by an authorized staff member.
The price of a required part changes between when the quote is sent and when the part is ordered.
Quotes can have an expiration date (e.g., 48 hours). Staff can re-confirm pricing before adding parts to the quote.
Section 08 · Deliberately left out
What version one does not do.
- ×Full parts inventory management and supplier ordering. — Building inventory is complex; for MVP, free-text descriptions and costs for parts are sufficient for quoting and getting approval.
- ×Detailed vehicle and customer service history. — The core value is managing the current job. Historical data is secondary and can be added once the primary workflow is proven.
This is the section that protects the date, and the only place in the document where somebody says no. It is also why clients trust the rest of it.
Still open
What we would ask before quoting.
- How is a returning customer's vehicle identified on intake—by phone number, license plate, or name?
- Is there a distinction between who can diagnose a car versus who is authorized to finalize and send a quote?
- Is labor calculated as a flat rate for a service, or is it logged as hours against an hourly rate?
Your product, not this one
Get this written for what you are actually building.
Describe it in a sentence and the generator returns the same sections for your own product. Free, no email, nothing saved to a list.
Next step
Find out if your idea fits in 10 working days.
Tell us what you want to build. We reply the same day with a straight yes, no, or here is what we would cut.