Track NotesProject Build

Building Yorkshire Motorsport: A Spectator-Access Calendar for UK Racing

Published on 20 August 2026 by Mark

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.

Yorkshire Motorsport homepage, showing the consolidated event calendar

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. Events that look new but can't be classified get flagged for me instead of quietly landing in the wrong category, and an event has to go missing from two scrapes in a row before it's removed. 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. The latest reports now sit on the homepage, and finished events ask anyone who went to add theirs.

What Two Months of Weekly Updates Looks Like

It launched in August, and it's had new features most weeks since. The event page is the best example. It now opens with an at-a-glance panel: the weather forecast for the day, track hours, which layout is in use, the noise limit and ticket price, with a single clear action to book or find out more. Once an event finishes, the same page links to the official results and shows photos from the day. Every page still has a native Share button and a "Something wrong here?" link that opens the contact form with the page already filled in, so fixing a wrong detail is a few taps.

An event page on Yorkshire Motorsport, showing the at-a-glance panel with forecast, track hours and noise limit

Circuit pages have grown just as much. Each one opens with a short history and quick facts, an interactive track map with named corners and numbered viewing spots, visitor FAQs, and distances from wherever you are rather than from a fixed list of cities. You can star any event into a personal "My events" list, with no account needed, and import the lot into your calendar in one tap. And the whole site installs on a phone like an app.

Pages for Next Year's Searches

The most recent change is one I'd recommend to any site with recurring dates. Every event used to have one page, which stopped being useful the moment it finished. Now every event also belongs to a permanent page above it: track days at each circuit, plus named fixtures like British Superbikes, the BTCC and Rallye Harewood. Each of those has a short introduction, written only from the championship's or circuit's own site with the sources listed underneath. Finished event pages drop out of Google, so when someone searches for next year's Rallye Harewood, they land on a page that's already been building up its ranking all year.

The BTCC at Donington Park page on Yorkshire Motorsport, a permanent page for a regular fixture

Reaching People Where They Already Are

A calendar only helps if people remember to check it, so a lot of the recent work goes out to them. Every Thursday a weekly email lists the weekend's racing, with a forecast for each circuit. Event alerts are double opt-in with one-click unsubscribe, and live calendar subscriptions keep themselves up to date. Branded Facebook and Instagram posts and stories are generated automatically, then wait for my approval before they're published, which I've written up separately in how the automated social posts work. And any club, circuit or garage can drop a free events widget into their own site with one line of HTML, filtered to the circuits and event types they care about, in their own brand colour.

The community photo gallery has kept growing alongside all of this: trackday and race shots from the people who were actually there, filterable by circuit and by car, each credited to whoever took it. The best ones can now head up the regular fixture pages too.

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, with login attempts throttled and a session check inside every admin action. Every public form is rate limited, 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. Personal data is deleted on a fixed schedule rather than kept forever, and I get an email if the server throws an error. Over 570 automated tests run on every change, and dependency security updates arrive weekly. 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.

Austin Tech Solutions

Rather just have this handled for you?

I build and run websites for businesses that would rather not think about any of this.