- Project
Quote Direct
[status: in progress]
- Website address
- quotedirect.uk
- Role
- Designer and developer
- Stack
- Next.js, React, TypeScript, Mantine, Turso, Wolseley API
- Year
- 2026
- What I owned
- Design and build of the public funnel, tenant admin, tenancy model, pricing path, and the first-party integration RGW uses.
- What I shipped
- A multi-tenant, white-label quote funnel at quotedirect.uk. Live Wolseley pricing on RGW's real catalogue. Admin for branding, questions, catalogue, and leads. Self-serve signup.

Overview
A funnel that lives on a trade's own website. A visitor answers a short question flow and gets an instant quote, branded to that business. The number is live supplier cost, plus the business's markup, plus VAT.
The problem
Trade businesses still quote every job by phone, even when they have a website. Widgets that price from a list typed in months ago go stale. Back-office tools look up trade cost for the engineer, not a retail price a homeowner can accept on a Sunday night.
The process
The platform stays trade-neutral. Service names, questions, and product copy come from tenant data. Plumbing is the first vertical, not the identity.
RGW is tenant one. Their site calls this API directly rather than embedding a frame, because Ads quality and attribution break across origins. Live merchant pricing through Wolseley had to be proven on a real job before the product could be honest.
Measuring success
The first OKR was live merchant pricing on a real RGW job. That is done, August 2026. Customer counts and conversion rates are not claimed: they do not exist yet. The next measure is a tenant who is not RGW.
Outcomes
A multi-tenant, white-label quote funnel, tenant admin, and the first-party integration RGW uses. Readyweb is the sibling for trades who do not have a site yet. Spark is meant to absorb this engine later, not rebuild it.