From zero to live in one day.
A complete vertical product — built and shipped on Monday 26 May 2026.
Video to quote
Walk the site, talk the brief. AI drafts the customer's quote from the recording.
Voice your nuance
Record your own commentary over the customer's words — your judgement, layered on top of theirs.
Anchored in your knowledge
Every quote cites your past jobs, day rates, crew availability and house rules. Not a stranger's pricing — yours.
22
26
12:18
16:32
Build log
- Setup
3fb95d1Initial commit
Day 1 smoke test + TODOs. Just record.html and a Whisper test.
- Setup
9d12638Scaffold Next.js + T19 integration spike
Full end-to-end skeleton: customer record → blob upload → real Whisper → faked PDF.
- Setup
1d125e5Use /tmp for Vercel storage
process.cwd() is read-only on Vercel functions. Quick fix.
- Setup
5639c02Swap /tmp for Vercel Blob JSON document
/tmp is per-invocation. Needed real cross-instance storage.
- Setup
d64ea42Switch to private blobs
Vercel Blob store is private-only. Rewrote for SDK auth.
- Setup
f5ad7beROADMAP.md as single-page project state
Schedule, tasks, risks, recent log — one canonical doc.
- Foundation
ec6908aAuthor landscaping seed data
18 prior jobs + 6 crew + 9 rota weeks + trade reference + demo scenario.
- Foundation
8f6cfbeReal LLM quote generation + deterministic math
gpt-4o + Structured Outputs (T7) + server-side VAT/total math (T8).
- Polish
0f15f27Tighten leakage rules
Real test caught 'Crew labour (Harry+Jude)' in customer-facing PDF. Prompt fixed.
- Real flow
78107c7Real business commentary capture
T2+T3 — live audio recording for operator commentary with sync chained generate.
- Brand
8fecb38Branding Pass 1
Georgia + Roboto fonts, brand tokens, signature forest-green sidebar.
- Brand
5d37479Correct palette to beige + charcoal
Brand guidelines skill describes deck palette; web app follows peatlinggroup.com instead.
- Brand
c02a1b8Italic-p favicon on beige
Drops the create-next-app default in favour of brand-matched SVG.
- Features
12ef184D6 — business dashboard + static customer link
Home page becomes operator queue; /record is the static customer entry.
- Features
efaf85eD1 — signed-URL video playback
Server-side stream from private blob; business now actually plays customer videos.
- Features
1c00f31T17 — three-headline confirmation gate
PDF locked until person-days + start date + total are confirmed. Inline edit.
- Features
58b4afcT18 — error UX
Rate-limit retry-once on OpenAI calls + content-refusal user-friendly message.
- Data
17e9966Migrate to Supabase
Real DB replaces blob-backed JSON. Storage layer + seed loader + seeder script.
- Data
14bd17fSeed admin UI
/seed routes — browse all four datasets, add prior jobs with live VAT math.
- UX
2705a43Audio-first finalize + progress bars
Customer sees 'Thanks' as soon as Whisper completes; video uploads in background.
- Polish
48f3d56PDF brand pass
Peatling Landscapers wordmark, Georgia headings, beige accents, charcoal totals.
- Features
e8c17daD5 — LLM clarifying questions
LLM populates questionsForOperator when commentary leaves specs ambiguous.