Brief
Australian racing media never grew up with its audience. Coverage was either dry form guides written for hardcore punters or gambling-heavy content with no personality. Nothing in the middle for the people who love the sport, the carnival, and everything that comes with it.
Racing Life launched in 2025 to fill that gap. An independent racing media platform where expert previews and live odds sit alongside the lifestyle and culture that turn race day into more than a bet.
Approach
Racing Life sits at the intersection of two things most racing media keeps separate: racing intelligence and racing culture. The product reflects that on every page.
On the intelligence side: live odds comparison across every major Australian bookmaker, expert race previews and form analysis, lay-of-the-day picks, and entity profiles for every horse, jockey, trainer, and meeting in the database. On the culture side: carnival fashion, race-day style, profiles of the personalities shaping the sport, and editorial that treats racing as a lifestyle vertical instead of a gambling one. The product is built to give fans a reason to show up every day, whether they're backing their selections with sharper odds, getting across the fields before a Saturday card, or working out what to wear to Caulfield.
Technically it's a three-app monorepo. A Next.js frontend, server-rendered and hydrated with TanStack Query for live odds. An Express + Postgres backend with a Bull worker queue and TimescaleDB hypertables for odds movement over time. A separate Next.js CMS where the editorial team drafts, reviews, and schedules with a Tiptap editor. Every racing entity is modelled as a first-class type, a horse profile, a race card, and a Lay of the Day editorial post all hydrate from the same Postgres tables.
The signature engineering decision is the content pipeline. AI scales daily previews, but only inside a pipeline that refuses to ship slop:
- A deterministic builder assembles a structured brief from the database (race entrants, recent form, market movements) before any LLM is called
- A stop-slop score quantifies generic AI filler on a per-article basis and surfaces it in the CMS quality dashboard
- A fact-check stage verifies claims against the live database before an article can be approved
- Synthetic author voices keep tone consistent, the "data analyst" voice and the "tipster" voice produce identifiably different copy from the same brief
The result: AI helps the editorial team scale daily output without losing the byline or the brand voice.
Outcome
Racing Life is becoming the daily destination for the modern Australian racing fan, the 25–45 year old who follows the sport on mobile and wants something smarter than a form guide. Punters get sharper odds. Carnival fans get the culture.
The editorial backbone is in. Community features are next.


