Building DirtySpoon.uk - UK Food Hygiene Ratings for Every Restaurant
I recently launched DirtySpoon.uk, a site that makes UK food hygiene inspection data browsable and actually useful. It covers every restaurant, takeaway, cafe, pub, and food business in England, Wales, and Northern Ireland.
The Problem
The Food Standards Agency publishes food hygiene ratings for over 500,000 establishments. You can look up individual businesses on their site, but there’s no easy way to compare areas, spot trends, or understand what the ratings actually mean in context. Which part of your city has the cleanest restaurants? How does your local takeaway compare to others nearby? What does a rating of 3 actually mean in practice?
What DirtySpoon Does
The site aggregates FSA data and presents it at every geographic level. You can browse by region, local authority, town, or postcode area. Each level shows rating distributions, comparisons, and individual establishment listings.
There are also chain comparisons (how does your nearest Nando’s compare to the national average?), cuisine breakdowns, and the Sparkling Spoon Award for establishments that consistently maintain top hygiene standards.
A set of editorial guides explains what inspectors actually check, what the ratings mean, and what to do if you get food poisoning.
The Tech Stack
DirtySpoon is the first site built on Substrate, a data platform I’ve been developing for programmatic SEO sites driven by public datasets. The stack is straightforward: Node.js with Fastify for the web server, PostgreSQL for data storage, Eta for server-side templates, and Tabler (Bootstrap 5) for the UI.
The data pipeline runs weekly, streaming the full FSA dataset directly into a staging table to avoid memory issues with the 600,000+ records, then deriving statistics, nearby establishments, and chain aggregations. The whole refresh takes about six minutes.
Everything runs on a self-hosted k3s cluster, deployed via GitHub Actions to a private Docker registry. Cloudflare handles DNS and tunnelling.
Lessons So Far
Programmatic SEO is a patience game. Getting hundreds of thousands of pages indexed takes time. Google is cautious with new domains, and there’s no shortcut around that. Sitemaps, Search Console, and consistent content quality are the basics.
Public data is underused. The UK government publishes enormous datasets that most people never see. Packaging that data into something browsable and searchable creates genuine value. The FSA data alone has enough depth for comparisons, trends, and insights that don’t exist anywhere else in an accessible format.
Server-side rendering still wins for content sites. No client-side JavaScript framework needed. Pages render in under 50ms, the HTML is fully crawlable, and the deployment is simple. Fastify with Eta templates is fast and predictable.
If you’re curious, have a look at DirtySpoon.uk. The next site on the Substrate platform, WattScore.uk, covering UK Energy Performance Certificate data, is already in the works.