Peatling Landscapers

Colchester · Wivenhoe · Manningtree

From zero to live in one day.

A complete vertical product — built and shipped on Monday 26 May 2026.

What makes it different

  1. Video to quote

    Walk the site, talk the brief. AI drafts the customer's quote from the recording.

  2. Voice your nuance

    Record your own commentary over the customer's words — your judgement, layered on top of theirs.

  3. Anchored in your knowledge

    Every quote cites your past jobs, day rates, crew availability and house rules. Not a stranger's pricing — yours.

Commits

22

Tasks shipped

26

First commit

12:18

Last commit

16:32

Build log

  1. 12:18Setup3fb95d1

    Initial commit

    Day 1 smoke test + TODOs. Just record.html and a Whisper test.

  2. 12:32Setup9d12638

    Scaffold Next.js + T19 integration spike

    Full end-to-end skeleton: customer record → blob upload → real Whisper → faked PDF.

  3. 13:21Setup1d125e5

    Use /tmp for Vercel storage

    process.cwd() is read-only on Vercel functions. Quick fix.

  4. 13:24Setup5639c02

    Swap /tmp for Vercel Blob JSON document

    /tmp is per-invocation. Needed real cross-instance storage.

  5. 13:32Setupd64ea42

    Switch to private blobs

    Vercel Blob store is private-only. Rewrote for SDK auth.

  6. 13:43Setupf5ad7be

    ROADMAP.md as single-page project state

    Schedule, tasks, risks, recent log — one canonical doc.

  7. 14:02Foundationec6908a

    Author landscaping seed data

    18 prior jobs + 6 crew + 9 rota weeks + trade reference + demo scenario.

  8. 14:09Foundation8f6cfbe

    Real LLM quote generation + deterministic math

    gpt-4o + Structured Outputs (T7) + server-side VAT/total math (T8).

  9. 14:46Polish0f15f27

    Tighten leakage rules

    Real test caught 'Crew labour (Harry+Jude)' in customer-facing PDF. Prompt fixed.

  10. 14:54Real flow78107c7

    Real business commentary capture

    T2+T3 — live audio recording for operator commentary with sync chained generate.

  11. 15:07Brand8fecb38

    Branding Pass 1

    Georgia + Roboto fonts, brand tokens, signature forest-green sidebar.

  12. 15:12Brand5d37479

    Correct palette to beige + charcoal

    Brand guidelines skill describes deck palette; web app follows peatlinggroup.com instead.

  13. 15:16Brandc02a1b8

    Italic-p favicon on beige

    Drops the create-next-app default in favour of brand-matched SVG.

  14. 15:21Features12ef184

    D6 — business dashboard + static customer link

    Home page becomes operator queue; /record is the static customer entry.

  15. 15:27Featuresefaf85e

    D1 — signed-URL video playback

    Server-side stream from private blob; business now actually plays customer videos.

  16. 15:29Features1c00f31

    T17 — three-headline confirmation gate

    PDF locked until person-days + start date + total are confirmed. Inline edit.

  17. 15:30Features58b4afc

    T18 — error UX

    Rate-limit retry-once on OpenAI calls + content-refusal user-friendly message.

  18. 15:48Data17e9966

    Migrate to Supabase

    Real DB replaces blob-backed JSON. Storage layer + seed loader + seeder script.

  19. 16:05Data14bd17f

    Seed admin UI

    /seed routes — browse all four datasets, add prior jobs with live VAT math.

  20. 16:19UX2705a43

    Audio-first finalize + progress bars

    Customer sees 'Thanks' as soon as Whisper completes; video uploads in background.

  21. 16:30Polish48f3d56

    PDF brand pass

    Peatling Landscapers wordmark, Georgia headings, beige accents, charcoal totals.

  22. 16:32Featurese8c17da

    D5 — LLM clarifying questions

    LLM populates questionsForOperator when commentary leaves specs ambiguous.