Building Yorkshire Motorsport: A Spectator-Access Calendar for UK Racing
I take my Elise out on track a fair bit, and the most annoying part of that hobby has nothing to do with the car. It's working out what's actually on. Donington, Cadwell, Croft, Harewood, Oulton Park, each circuit runs its own calendar, in its own format, on its own site, and none of them cross-reference each other. If you want to know what's happening across every circuit within reach of Yorkshire in a given month, the honest answer used to be: open five tabs and compare them by hand.
So I built Yorkshire Motorsport, a single, consolidated calendar of track days, test days, and race meetings across the circuits in and near Yorkshire. It's not a portfolio piece, it's a site I use myself, and it gets maintained to the same standard as any client project I build.
One Calendar, Several Very Different Sources
Under the hood, a daily cron job pulls events from MSV's circuit calendars, TSL Timing's diary, Croft's own booking API, and Harewood Hillclimb, and normalises all of it into one schema. The interesting part isn't the scraping itself, it's making sure one broken source can't take the rest down with it. Each source runs independently, and if one fails or gets blocked, it's logged and skipped rather than allowed to overwrite good data. After every run I get a plain-text summary email, source by source, with anything that errored or came back with a suspiciously low count called out at the top, so a silent failure doesn't just sit there unnoticed for a month.
The Question No Calendar Actually Answers
The bit that actually solves a real problem, rather than just being a convenience, is spectator access. Published calendars almost never say whether a test day is open for people to turn up and watch, that information tends to live in someone's head, or a Facebook comment thread, or nowhere at all. Yorkshire Motorsport handles this with community reporting: people who've actually been confirm or deny access after attending, which builds a real, crowd-sourced picture over time instead of relying on a stale FAQ page. Confirmed and subscribed users get double opt-in email alerts, and every event exports to a one-tap calendar subscription (webcal/ics) that keeps itself current as new events get added.
A Gallery to Go With the Calendar
Since launch I've added a photo gallery: trackday and race shots submitted by the people who were actually there, filterable by circuit and by car, with every photo credited to whoever shot it. It's the same instinct as the spectator-access reporting, the people who show up have information a static calendar never will, so give them somewhere to put it.
A Few Small, Useful Additions
A handful of smaller pieces have landed since launch, each aimed at one specific friction point rather than being a feature for its own sake. Every event page now has a native Share button (the Web Share API, with a plain copy-link fallback on browsers that don't support it) and a "Something wrong here?" link that opens straight into the contact form with the page it's about already filled in, so fixing a wrong detail is a few taps rather than an email written from scratch. Circuit pages also show straight-line distance to Leeds, York, Sheffield, and Bradford now, calculated live from each circuit's own coordinates rather than typed in by hand, so the numbers can't quietly drift out of date.
Built Like a Client Project, Not a Weekend Hack
It would've been easy to let the engineering slide on something I only built for myself, but I didn't want a site I'd be embarrassed to point a client at. The admin area uses signed, expiring session tokens rather than a raw shared password, structured data is rendered XSS-safe, and the scrapers respect robots.txt and include real block-page detection rather than assuming every 200 response is good data. Every public submission endpoint is rate limited, and the highest-risk logic, the scraping and classification code, is covered by an automated test suite. It's a live product I keep maintaining, not something I launched once and walked away from.
There's a full technical write-up, screenshots, and a real Lighthouse scorecard on the Yorkshire Motorsport case study, or you can use the web app directly via yorkshiremotorsport.co.uk.



