All outcomes

Landlord compliance · England and Wales

EPC Guide

A 27.6 million record public register became a postcode box that tells one landlord which measure moves their house to band C and what it costs.

Before

A landlord renting out a home below band C has a deadline, a £10,000 spend cap and no way to find out what their own property needs. The certificate already lists the measures. It is buried at the bottom of a page nobody scrolls, in codes, with no total. Every other answer online is written by whoever sells the measure being recommended.

After

A postcode box that reads the property's own certificate and returns its band, the points still missing and the measure that moves it furthest, free and without an account. A costed plan behind it for anyone who wants the whole route. And 318 local authority pages built from the full register, so an area can be looked at rather than asserted.

homes resolved out of 27.6M public certificates
19.7M
organic clicks in 89 days, from 170,180 impressions
2,345
live pages, 318 of them one per local authority
518

The problem

Privately rented homes in England and Wales have to reach EPC band C, and 1,848,327 of them are below it, which is 1,222 upgrades a day between now and the 2030 deadline. The landlord's question is small and specific: what does my house need, what will it cost, and does the £10,000 cap let me off. Everything needed to answer it is already public. The certificate for that exact property lists its own recommended measures with indicative costs, and the whole register is downloadable as a zip. Neither form is usable by the person who needs it. One is a page of RdSAP codes with no total at the bottom, the other is 27.6 million rows. So the answer a landlord actually gets comes from an installer quoting for the measure that installer sells.

What I built

Two data paths, because the national picture and one house are different problems. The bulk register is streamed offline by a job that never extracts the archive, reading the year-partitioned files newest year first so the first sighting of a property is its latest certificate, keyed on UPRN and falling back to address line plus postcode. That ordering is the whole method: rented homes get re-assessed far more often than owner-occupied ones, usually right after improvement works, so counting raw certificates manufactures a rental-versus-owner gap that is not in the housing stock. It reduces to 318 aggregated records, read once and cached in process, which is why a 318 page family renders from an object in memory with no database behind it. For one property, the live register API is called at request time. The recommendation on top of it is not a model. It is the certificate's own indicative costs and typical savings, its improvement codes mapped to fourteen categories, and per-measure uplift recovered by differencing the cumulative rating the certificate already publishes, with reachability classified against the SAP threshold for band C and leasehold properties on communal heating forced down to hard because the landlord does not control the plant. A language model writes the judgement prose and nothing else; five sections are routed around it because every claim in them traces to a field on the certificate. That split is also what makes the free check free, since the deterministic core runs at no model cost.

What it looks like

The free EPC predictor showing a result for a 1930s semi with a gas boiler: predicted band E, an estimated score range of 35 to 69, an A to G bar with the property marked, and three recommended upgrades with costs.
The page most of the search traffic lands on, and the one that answers without asking for an address: three dropdowns, then a band. The panel underneath is the part worth reading. It says the result was built from three answers and five assumptions, lists every assumption, and marks which one is weakest. A free tool built to collect leads has every incentive to sound certain. This one says the estimated range covers bands C to F and that band E is the middle of it rather than a settled answer, then offers five more questions to narrow it.
The Manchester area page: 46.3% of homes below EPC band C from 334,270 certificates, four headline stat cards, an A to G distribution chart, and breakdowns by property type, construction age and tenure.
One of 318 of these, generated per local authority out of the register rather than written. Manchester is 46.3% below band C across 334,270 certificates, and the badge next to it compares that against the certificate-level national rate rather than the home-level one. Those two rates differ by almost six points, and using the wrong one here makes almost every authority in the country look worse than average, which is the sort of error that is invisible on the page and obvious in the aggregate.
The compliance file demo: £9,490 of a £10,000 cost cap spent with £510 of headroom, band D today against a target of band C by 1 October 2030, and an eight row spend ledger with invoices attached to each entry.Data substituted
The £10,000 cap is the one number in this regulation a landlord has to defend line by line, so the product is a ledger for it rather than another calculator. Eight entries, each with its invoice attached and a pill saying whether it counts, and the two that do not count, a gas safety check and a managing agent fee, link to the reason. The countdown states that the legislation has not been laid yet, which is true. Opening this URL clones a private writable copy for the visitor, because one shared demo row lasts exactly as long as the first person who clicks delete.

Shots marked data substituted are the real interface with invented content in place of the client’s. Every name, address, sum of money and email on those screens is made up. The layout, the components and the behaviour are exactly what the client uses.

What happened

518 pages live, and search has moved from 189 impressions on a day in May to 2,407 on a day in August. Across the 89 days to 15 August it took 2,345 clicks from 170,180 impressions at an average position of 11.6. The pages Google rewards most are the property archetype pages, "1960s to 1970s house" and "1950s house" and "Victorian terrace", which sit around position 4 or 5, well ahead of the free tool they were built to feed.

Next.js on VercelSupabase / PostgresGOV.UK EPC register (bulk zip + live API)Python streaming aggregationGemini FlashStripeResend

Provenance: Screenshots captured 2026-08-17 from live production at 1440px, DPR 2, unretouched, clipped from the top at a section boundary where the page ran longer than the frame. The compliance file frame is the product's own published demo property, not a customer's, which is why it is marked substituted. Search figures from Google Search Console (sc-domain:epcguide.co.uk, 19 May to 15 Aug 2026: 2,345 clicks, 170,180 impressions, CTR 1.38%, average position 11.6), queried 2026-08-17. Page count from the live sitemap at epcguide.co.uk/sitemap.xml the same day: 518 URLs. Register figures from the 11 Aug 2026 deduplicated pull of the GOV.UK bulk domestic register for England and Wales, 27,612,160 certificates covering 19,721,103 homes, of which 9,788,286 sit below band C; rental stock 3,467,781 homes, 1,848,327 below C. Account, plan, request and compliance-file counts measured 2026-08-17 against the live Supabase project. Payment figures read the same day from the live Stripe account: 24 succeeded charges, £696.00 gross, £116.00 refunded, 18 distinct billing emails, 15 Jun to 12 Aug 2026.

Want the same thing done to your operation?

Ten working days, a fixed fee, and one automation live before we finish. If there is nothing worth automating, I will say so in the findings.

Book a call