Phase 1 foundationGoHighLevel-first architectureDeployable baseline

Bathroom Converter MVP

Turn GoHighLevel bathroom leads into premium planning reports and curated product shortlists.

This app is the processing layer behind the public-facing GHL flow: ingest the homeowner brief, store structured data, generate a personalised report, recommend products from a local supplier catalogue, and sync meaningful results back to the CRM.

Delivery posture

App Router skeleton

Planned cleanly

The route surface and shared modules are laid out so data, sync, and AI services can be added without reshaping the app later.

UI baseline

Premium shell

Tailwind tokens, cards, spacing, and shell components establish the premium design system direction early.

Shared architecture

Ready for phases

Validation, mapping, Prisma, prompts, and service directories are scaffolded now to keep future work modular and predictable.

Phase 1

Foundation

Scaffold routes, shared folders, configuration, and the premium shell without jumping into integrations early.

Phase 2

Data contracts

Introduce Prisma schema design, enums, migrations, and the first database access layer for leads, reports, and sync logs.

Phases 3-6

Core engines

Build inbound GHL ingestion, supplier catalogue sync, recommendation services, and structured report generation in clean layers.

Phases 7-14

Delivery and ops

Render report experiences, export PDFs, sync results back to GHL, then harden admin operations and deployment workflows.

Phase 1

Application surface

These routes establish the surface area for the platform without locking us into premature implementation choices.

POST

/api/ingest/ghl

Inbound GoHighLevel lead and quiz ingestion endpoint.

POST

/api/report

Structured report generation trigger surface.

POST

/api/pdf

PDF export orchestration endpoint.

POST

/api/catalog/sync

Supplier catalogue sync control endpoint.

POST

/api/webhooks/ghl

Additional GoHighLevel webhook event receiver.

POST

/api/sync/ghl

Manual outbound GoHighLevel sync trigger endpoint.

Supplier seeds

Initial catalogue targets

The catalogue strategy is database-first. Weekly deep syncs enrich a local product store that later powers report recommendations.

Victorian Plumbing

https://www.victorianplumbing.co.uk

Scaffolded

Initial weekly deep sync target for bathrooms, furniture, showers, and accessories.

Tradebase / Stonewater

https://www.tradebase.com

Scaffolded

Secondary supplier target for trade-oriented catalogue coverage and comparison.

What comes next

Ready for database and contract work

Phase 1 intentionally stops short of data persistence and integrations. The routes and shared modules are in place so later phases can land cleanly.

No live data yet

The next phase adds Prisma models, enums, migrations, and the first database access layer for leads, reports, catalogue records, and sync logs.