Skip to content
codexa

Websites · React

Plumbing & heating

No-nonsense plumbing and heating site with services, fixed prices, how a job runs, reviews and a callback form.

Plumbing & heating starter, as built from its own files
Starter screenshot captured from this template's own build at 1440×900. It shows the template as it ships, not output generated from a prompt.

What you get

A site for a local trade business: an emergency line up front, services, fixed prices for common jobs, how a visit works, customer reviews, FAQs and a callback request form. All content lives in src/site.ts.

Files

Exactly what is copied into a new project: 13 files, nothing generated.

Raw data: GET /api/v1/templates/site-plumbing-heating

src/site.ts
src/site.ts
import type { Site } from "./types"; /** Everything this site shows. Edit freely. */export const site: Site = {  "brand": "Draycott Plumbing & Heating",  "nav": [    {      "label": "Services",      "href": "#services"    },    {      "label": "Prices",      "href": "#prices"    },    {      "label": "Reviews",      "href": "#reviews"    },    {      "label": "FAQ",      "href": "#faq"    }  ],  "navCta": {    "label": "Request a callback",    "href": "#contact"  },  "sections": [    {      "kind": "hero",      "variant": "split",      "eyebrow": "Plumbing & heating engineers · Bristol and Bath",      "title": "Boilers, leaks and bathrooms. Fixed prices, tidy work.",      "text": "A family firm of five engineers covering BS1 to BS16 and Bath. We quote before we start, arrive in the slot we give you, and clean up after.",      "primary": {        "label": "Request a callback",        "href": "#contact"      },      "secondary": {        "label": "See our prices",        "href": "#prices"      },      "visual": {        "type": "card",        "tone": "#7f1d1d",        "title": "Emergency line: 0117 496 0555",        "lines": [          "Burst pipes and no heating",          "7 am to 10 pm, every day",          "Usually with you within 2 hours"        ]      },      "note": "No call-out charge on booked jobs Monday to Friday."    },    {      "kind": "features",      "id": "services",      "eyebrow": "Services",      "title": "What we do",      "items": [        {          "title": "Boiler servicing",          "text": "Annual service with a written report and a flue gas check. Keeps most warranties valid.",          "icon": "shield"        },        {          "title": "Boiler replacement",          "text": "Combi and system boilers fitted in one or two days, with a 10-year parts and labour guarantee.",          "icon": "bolt"        },        {          "title": "Leaks & repairs",          "text": "Dripping taps, leaking pipes, toilets that will not stop running.",          "icon": "wrench"        },        {          "title": "Radiators",          "text": "New radiators, thermostatic valves, power flushing and balancing.",          "icon": "sun"        },        {          "title": "Bathrooms",          "text": "Full bathroom refits, designed with you, with one team doing the plumbing and tiling.",          "icon": "home"        },        {          "title": "Landlord checks",          "text": "Annual safety certificates for rented homes, with reminders when the next one is due.",          "icon": "check"        }      ]    },    {      "kind": "pricing",      "id": "prices",      "eyebrow": "Prices",      "title": "Fixed prices for common jobs",      "text": "Including VAT. Parts are extra on repairs and always agreed with you first.",      "plans": [        {          "name": "Boiler service",          "price": "£95",          "text": "Any make of gas boiler, about an hour.",          "features": [            "Full safety inspection",            "Written service report",            "Reminder next year"          ],          "cta": {            "label": "Book a service",            "href": "#contact"          }        },        {          "name": "Repair visit",          "price": "£85",          "period": "first hour",          "text": "Then £20 per extra 15 minutes.",          "features": [            "Fixed two-hour arrival slot",            "Common parts on the van",            "90-day guarantee on work"          ],          "featured": true,          "cta": {            "label": "Book a repair",            "href": "#contact"          }        },        {          "name": "New combi boiler",          "price": "£2,450",          "period": "from",          "text": "Supplied and fitted, old boiler removed.",          "features": [            "Free home survey",            "Smart thermostat included",            "10-year guarantee"          ],          "cta": {            "label": "Get a quote",            "href": "#contact"          }        }      ]    },    {      "kind": "steps",      "eyebrow": "How it works",      "title": "From phone call to finished job",      "items": [        {          "title": "Tell us the problem",          "text": "Call or use the form. Photos help. We give you a price, or a price range if we need to see it."        },        {          "title": "Pick a slot",          "text": "Two-hour arrival windows, including early mornings. We text when the engineer is 20 minutes away."        },        {          "title": "Pay when it is done",          "text": "Card on the day or bank transfer within 7 days. Receipt and guarantee by email."        }      ]    },    {      "kind": "quotes",      "id": "reviews",      "eyebrow": "Reviews",      "title": "What customers say",      "items": [        {          "quote": "Boiler died on a Sunday night. Gareth was here by 9 am Monday and we had heat by lunch.",          "name": "Helen W.",          "role": "Bishopston"        },        {          "quote": "Quoted £2,600 for the new boiler and the bill was £2,600. Left the airing cupboard cleaner than they found it.",          "name": "Rob K.",          "role": "Redland"        },        {          "quote": "We use them for all twelve of our rental flats. Certificates always on time.",          "name": "Sarah L.",          "role": "Landlord, Bath"        }      ]    },    {      "kind": "faq",      "id": "faq",      "eyebrow": "FAQ",      "title": "Common questions",      "items": [        {          "q": "Which areas do you cover?",          "a": "Bristol postcodes BS1 to BS16 and Bath BA1 and BA2. Further out, ask and we will tell you honestly if we can get there."        },        {          "q": "Do you work on oil or LPG boilers?",          "a": "Not at the moment. We work on mains gas boilers, heat pump plumbing and all general plumbing."        },        {          "q": "Are you insured?",          "a": "Yes, with public liability cover of £5 million. We are happy to send the certificate before the job."        },        {          "q": "Can I get a quote without a visit?",          "a": "For most repairs and services, yes. Boiler replacements always need a free 30-minute survey."        }      ]    },    {      "kind": "contact",      "eyebrow": "Callback",      "title": "Request a callback",      "text": "We call back within two working hours. For emergencies, ring 0117 496 0555 instead.",      "fields": [        "name",        "phone",        "email",        "message"      ],      "button": "Request callback"    }  ],  "footer": {    "text": "Plumbing and heating engineers in Bristol and Bath.",    "columns": [      {        "title": "Contact",        "links": [          "0117 496 0555",          "jobs@draycottplumbing.co.uk"        ]      },      {        "title": "Services",        "links": [          "Boilers",          "Repairs",          "Bathrooms",          "Landlords"        ]      },      {        "title": "Company",        "links": [          "Guarantees",          "Privacy"        ]      }    ],    "legal": "© Draycott Plumbing & Heating. Sample content: replace it in src/site.ts."  }};

Remix

Remix this template

Describe what to change and the agent starts from Plumbing & heating's files. The box is already started for you: finish “Start from Plumbing & heating and …”

Agent ready

Creates a free account first; your idea is carried over.

Dependencies

Documented from the template's package.json. The runtime has a prebuilt dependency set for Vite + React + TypeScript, so installs are fast.

  • react^19.1.0
  • react-dom^19.1.0
  • vite^6.3.0
  • @vitejs/plugin-react^4.4.0
  • tailwindcss^4.1.0
  • @tailwindcss/vite^4.1.0
  • typescript^5.8.0

How it runs

Framework
Vite + React + TypeScript
Dev command
npm run dev
Build command
npm run build
Output directory
dist
Port
5173
Entry route
/

Projects run in an isolated sandbox with a live preview. Read the projects documentation for settings, snapshots and deployment.

All templates

Build on Plumbing & heating

Create a free account, start from this template, and ask the AI agent to turn it into your app.