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.
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.
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


Data substitutedShots 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.
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