Yorkshire Motorsport
A community-driven event calendar for Yorkshire's motorsport circuits, with spectator access confirmed by people who are actually there.
LocationLeeds, UK
UK motorsport fans and trackday drivers had no single place to find out what's actually on. Track days, test days, and race meetings across five circuits in and near Yorkshire, Donington Park, Cadwell Park, Croft, Harewood Hillclimb, and Oulton Park, were scattered across separate calendars in wildly different formats, and none of them said whether spectators were actually allowed to turn up and watch.
Yorkshire Motorsport is Mark's own build, run to the same standard as every client project: the brief he set himself was a single, reliable calendar that solved both problems at once, one canonical events feed pulled from every source, and a real, crowd-sourced answer to the access question rather than a guess.
A daily cron job ingests events from multiple independent sources, normalising wildly different formats into one schema. Each source is scraped independently and never allowed to take the others down with it: a broken or blocked source is logged and skipped rather than overwriting good data, and the site owner gets a plain-text summary email after every run, source by source, with anything that errored or came back with a suspiciously low count called out at the top.
Yorkshire Motorsport solves the access problem with community reporting: visitors confirm or deny access after attending, building a real, crowd-sourced picture over time. Confirmed and subscribed users get double opt-in email alerts, and every event exports to a one-tap calendar subscription (webcal/ics) that updates automatically as new events are added.
A community photo gallery rounds out the site: trackday and race photography submitted by the people who shot it, filterable by circuit and car, with every image credited to its photographer.
The site promotes itself, too. Scheduled jobs generate a branded image and caption for the coming weekend's fixtures and for standout single events each day, then drop both into a review queue rather than posting blind, an admin approves or edits the draft, optionally scheduling it for a specific time, before anything goes out.
Approved posts publish straight to Facebook and Instagram through Meta's own Graph API, as a feed post plus, by default, a 24-hour story on each platform (the admin can untick either). Every leg is tracked separately rather than as one pass/fail result, so a failure on one never blocks or duplicates the others, and re-running publish only picks up the legs that didn't land. The underlying access token is kept alive by an automated monthly refresh rather than the usual manual reauthentication, with an email alert only on the rare occasion it needs real human attention.
Each event page has a native Share button (Web Share API, with a plain copy-link fallback on browsers that don't support it) and a one-tap link into the contact form, pre-filled with which page it's about, so a wrong detail is a few taps to flag rather than an email written from scratch. Circuit pages also show straight-line distance to Leeds, York, Sheffield, and Bradford, computed live from each circuit's own coordinates rather than hardcoded, so the numbers can't quietly go stale.
The engineering underneath matches the ambition: signed, expiring session tokens for the admin area rather than a raw shared password, XSS-safe structured data, robots.txt-respecting scrapers with real block-page detection, rate limiting on every public submission endpoint, and an automated test suite covering the highest-risk logic. It's a live, actively maintained product, not a portfolio piece left to go stale after launch.
Live via Google PageSpeed Insights · updated 13 September 2026
Want a website that performs like this one?
Tell me about your business and what you need, and I'll come back with a fixed price and a timeline.










