Case Studies/Good Energy

Good Energy

Heat pump installations sold online, through a journey that prices a job from a postcode and a handful of questions.

Good Energy case study — Heat pump installations sold online, through a journey that prices a job from a postcode and a handful of questions.

About Good Energy

Good Energy started out in 1999 as, in its own words, “one of the first (and only) 100% renewable electricity companies”. It was founded to give people a way to be part of a practical solution to climate change, and it still describes its purpose the same way: to make it simple for everyone to generate, share, store, use and travel by clean power. Today it matches its electricity in real time against 3,000 independent British generators, and it is the only B Corp certified home energy supplier in the UK.

Supply was never going to be the whole business. Good Energy also installs solar panels, home batteries and heat pumps, and it pays homes and businesses for the green power they export to the grid. In December 2022 it bought the heat pump installer Igloo Works for an initial £1.75m, and said it expected 2023 to be a year of services expansion, with new connected products alongside the heating ones. The acquired business came with a working online estimate journey for air source heat pumps.

Bitcube built and ran that journey for three years, from January 2023 to January 2026.

The Challenge

The journey was an acquired asset, so it arrived already trading, which meant the rebrand had to happen in place and in public rather than behind a coming-soon page. The services behind it sat outside our source control with no build pipelines, so nothing could be changed safely until they had been moved and wired up. The system of record was Airtable, which was reasonable for a small installer and wrong for a supplier that wanted a CRM process and a referral scheme behind it, and the switch could not lose a lead on the way across. Pricing a heat pump needs building physics plus property data that nobody holds cleanly: EPC records that are often missing or stale, MCS product data, an address lookup that has to work on the first attempt. Good Energy had also said it intended to build a family of connected products off the back of the acquisition, so a journey welded to one brand would have to be unwelded later. And an energy supplier serving every household in the country has to work for someone using a screen reader, which the inherited front end did not. Underneath all of it, the journey had to keep taking enquiries the entire time.

Good Energy — project imagery

Our Solution

Phase 1 — A front end rebuilt from its components up

The journey was rebuilt in Next.js one component at a time, each proved on its own test page before it entered a journey. Good Energy's brand went on in February 2023 — style guide, header, buttons, brand font — and address lookup moved to getaddress.io. A/B middleware ran two question sets against real traffic until one won in May. The first production build reached AWS Amplify on 11 February 2023, and by the end of March a Cypress suite covered every question.

Phase 2 — A new backend, built beside the old one

The inherited services were moved into GitHub with build pipelines behind them, estimates in April 2023 and the building physics API in May. A new Works API was then built next to the live one, and the front end switched across one endpoint at a time — save estimate, retrieve estimate, request callback, then the questionnaire post itself in June — so enquiries kept arriving while the thing answering them was replaced. API authentication and reCAPTCHA went on alongside. By July, five services had production instances of their own: front end, Works API, physics API, product catalogue and EPC scraper.

Phase 3 — White-labelling, before there was a second brand

A channel identity was threaded through the front end, the API and the data store, and proven on its own branch in July 2023 — two years before the journey had to carry a second identity for real.

Phase 4 — Airtable to Zoho CRM, on a live journey

The Zoho client was built in August 2023, staging switched off Airtable in September, production was prepared in October, and the last Airtable code came out in December. Zoho then carried leads, contacts, estimates, the product catalogue and a referral discount scheme. Lead and estimate creation moved onto a single composite request with three retries, so a transient failure at the CRM's end costs a moment rather than an enquiry.

Phase 5 — Accessibility as a standing programme

A WAVE and NVDA audit in February 2024 gave the first honest list: contrast, focus order, missing WAI-ARIA, form fields with no label. Patching would not hold it, so from June 2024 the component set was rebuilt on Radix UI primitives and shadcn/ui — one component per concern, a Storybook entry per variant, an accessibility pass as the definition of done. Next.js and React went to 14 and 18 in the same window. Two further audits, September and December 2025, held the work to WCAG 2.2 Level AA.

Alongside the main line, the estimate got better at qualifying its own leads. Flats, properties whose floor area falls outside the range the estimate covers, and addresses outside the install area all exit the journey early with something useful to read instead of a quote that would never stand up.

Key Features

  • Self-serve estimates — a priced installation from a postcode and a few answers
  • White-labelled by design — one journey, one channel identity, many brands
  • Parallel backend replacement — endpoints switched one at a time, no pause
  • Airtable to Zoho CRM — leads, estimates and a referral scheme in one place
  • WCAG 2.2 Level AA — three audits, and a component set rebuilt to hold it
  • Five independently deployed services, each with its own build pipeline
  • Property data stitched together — EPC records, MCS data, address lookup
  • Handed over — repositories and six technical documents to the client

The Results

Delivery never took the journey offline. The backend was replaced endpoint by endpoint and the move from Airtable to Zoho CRM ran the same way, both on a journey that was taking real enquiries throughout. Good Energy's brand went on it in February 2023, ten weeks after the acquisition was announced.

Good Energy's sales team got a CRM it could work in. Leads, contacts, estimates and the product catalogue all sit in Zoho, with a referral discount scheme running off it, in place of the Airtable base the business had outgrown.

Accessibility went from an unmeasured problem to a tracked one. Three audits set WCAG 2.2 Level AA as the standard, and the component set was rebuilt on accessible primitives so the standard holds as the journey changes.

Good Energy owns the code. The repositories moved across in July 2025, and six documents went with them covering the architecture, the deployment process, the Zoho integration, monitoring and alerting, and how incidents and bugs get handled. Releases carried on after the handover, through to 1.8 in January 2026.

The white-labelling is doing its job. The estimate journey now runs for Good Energy on their installation partner's platform, and it can carry another brand, or another product, the same way.

Client

NAME

Good Energy

LOCATION

Chippenham, Wiltshire, United Kingdom

INDUSTRY

Renewable Energy

Services

Web Application DevelopmentLegacy System MigrationAPI & CRM IntegrationAccessibility Compliance (WCAG 2.2)

Tech Stack

Next.jsReactTypeScriptTailwind CSSRadix UIshadcn/uiStorybookPlaywrightCypressAWS AmplifyAWS LambdaMongoDBAmazon RDSZoho CRMgetaddress.ioSentry

Ready to Start Your Project?

Let's talk about your goals and find the best path forward together.

Get in Touch