JW
Dossier Open Scoring MMA
Hire me
Live product · Source private · Python
Built by Justin Willhite

Open Scoring MMA, a daily AI-produced MMA news podcast.

Open Scoring MMA is a daily, AI-produced MMA and UFC news podcast: forward-first, what's happening now and next rather than a recap, short and fully automated. A companion Fight Tracker PWA shows upcoming, live and recent cards with betting odds and prediction-market probabilities.

Both repos are private. This page describes the products; there is no public repo to link.

01

Repo stats

Open Scoring MMA is two repos, the podcast pipeline and the Fight Tracker. Both are private, so there is no star count. Live hourly.

open-scoring-mma-podcast

589Commits
2026-06-19First commit
2026-09-28Last push
PythonPrimary language

open-scoring-mma-tracker

85Commits
2026-06-22First commit
2026-09-28Last push
PythonPrimary language
02

Why I built it

The name nods to "open scoring," the long-running debate over judging transparency in MMA, applied here to news instead of a scorecard: forward-first, what's happening now and what's coming next, rather than a recap of what already aired. Accuracy is the whole brand, on both the podcast and the tracker: an absent fact beats a plausible one, so the pipeline never invents a name, a record, a date, a quote or a result, and every date gets checked against the real event schedule before it can air.

[Why I built an MMA podcast and tracker specifically, in my words]

03

What it does

  • The podcast. Scrapes news, drafts a forward-first script, fact-checks it, voices it with Gemini TTS, assembles and masters the episode, and publishes to a self-hosted RSS feed reaching Apple and Spotify, unattended on a daily timer.
  • The Fight Tracker. Upcoming, live and recent cards for the major promotions from ESPN's public API. On a night with two cards running, live mode shows both at once with a switcher, classifying every card into a phase (live, on now between bouts, upcoming, or final) rather than relying on ESPN's own live flag, which drops between fights.
  • Betting odds from The Odds API, shown alongside real-money win probabilities from Polymarket and Kalshi.
  • A cross-promotion "This Week" list, a Current Champions panel, a Shorts tab pulling the channel's own YouTube feed, and a news tab drawing from the same seven sources the podcast is researched from.
  • Installable as a PWA, with fight-day and starting-soon push notifications.
04

Stack and architecture

Both are Python. The podcast pipeline runs scrape, script generation, a fact-check pass, Gemini TTS voicing (the Orus voice), episode assembly with loudness normalization, and publishing to a self-hosted RSS feed, on a systemd timer. The Fight Tracker serves through waitress, with one SQLite file for subscriptions, sent alerts and link clicks, a shared cache/TTL/fail-safe discipline for every upstream call, and a strict content-security policy with no inline scripts.

PythonGemini TTSESPN APIThe Odds APIPolymarketKalshiSQLitePWASystemD
05

Status

Both live. The podcast publishes daily at openscoringmma.com, unattended. The Fight Tracker is live at tracker.openscoringmma.com.

06

FAQ

What is Open Scoring MMA?
A daily, AI-produced MMA and UFC news podcast: forward-first, short and punchy, fully automated and self-hosted. The name nods to "open scoring," the ongoing debate over judging transparency in MMA.
Does anyone review the podcast before it publishes?
The pipeline runs an automated fact-check pass before voicing an episode, but nobody manually reviews the output before it goes live. It runs unattended on a daily timer.
What is the Open Scoring MMA Fight Tracker?
An installable PWA at tracker.openscoringmma.com showing upcoming, live and recent fight cards across the major MMA promotions, pulled from ESPN's public MMA API with betting odds from The Odds API.
Does the Tracker show betting odds and prediction markets?
Yes. The sportsbook line comes from The Odds API, shown alongside real-money win probabilities from Polymarket and Kalshi.
How accurate is Open Scoring MMA?
Accuracy is the entire brand for both the podcast and the tracker: an absent fact beats a plausible one. It never invents a name, record, date, quote or result, and every date is checked against the actual event schedule before it can air.

← Back to Work