02 / LIVE EXPERIMENT  ·  2026/27 SEASON

Fantasy football.
Real drama.

What if your fantasy league had its own football media universe — and nobody, not even the league leader, was safe from the pundits?

The league is shared by invitation. This case study is open to everyone.

The real Mature Play FC Draft feed: a Socrates parody bulletin about Ertoytown Athletic's three new GW6 starters, alongside pundit profiles and league standings
REAL DATA. PARODY COMMENTARY.Published-site screenshot · Desktop · Open for full size ↗
08Real fantasy managers
38Possible season gameweeks
H2HHead-to-head Draft league
2026Season launched

A league deserves
its own press.

Fantasy Premier League Draft is already full of rivalries, questionable transfers and painfully close scorelines. The interesting stories were hiding in the data.

Mature Play FC Draft started with a simple question: could we turn a private eight-manager competition into something that feels like a living football news and commentary feed? Not generic match summaries, but opinionated, recognizable editorial voices reacting to what actually happened.

Each gameweek brings new fixtures, waiver decisions, performances and grudges. The site makes those moments browseable across the season — with original parody commentary grounded in league events, not invented goals, phantom transfers or made-up results.

More than a
league table.

A football-first interface where stats create the plot and pundits deliver the punchlines.

01 / EDITORIAL FEED

Different voices.
Different takes.

A cast of distinctly styled parody pundits reacts to the league with original posts and threaded commentary, rather than repeating a fixed template.

02 / REAL MOVEMENTS

Transfers make
the headlines.

Approved additions, outgoing players and rejected waiver claims become newsworthy events. The underlying move and its actual status matter.

03 / EVERY GAMEWEEK

Build-up.
Final whistle. Archive.

Match previews, post-game reactions, standings and week filters keep the season's history discoverable beyond the latest result.

04 / INDIVIDUAL STORIES

Eight teams.
Eight running narratives.

Team filters allow supporters to follow their own manager's wins, questionable calls, waiver business and personal rivalries.

05 / BUILT FOR READING

Desktop detail.
Mobile focus.

Compact navigation, clear context, searchable posts, saved items and profile views make a busy football conversation easier to explore.

06 / ACCOUNTABILITY

Source the fact.
Label the fiction.

Posts distinguish source-backed fantasy events from commentary, and parody labels make clear that the accounts are not their real-world namesakes.

Yağız Sabuncuoğlu's clearly labeled parody account reports Ertoytown Athletic's accepted Jack Hinshelwood waiver, with a player graphic and the outgoing Mamadou Sangaré
The transfer desk. An accepted Draft claim becomes a short news item with a player graphic, the outgoing name and a source link.

From league events
to an editorial system.

The published product combines a React interface, a Worker that collects and validates official league facts, persistent D1 records, and linked ChatGPT Automations that write fresh commentary.

How a post reaches the feed

Current implementation · October 2026

01 / SOURCE

Official FPL Draft API

League results, transactions, locked squads, live player points, fixtures and gameweek deadlines.

02 / CONTEXT

Worker collection

Reconcile scores, persist source observations in D1 and prepare writing jobs with verified fact cards.

03 / WRITING

ChatGPT Automations

Read account voice guides and recent messages; write original drafts and submit their supporting fact IDs.

04 / PUBLICATION

Validate & commit

Check facts and repetition; save finished posts, revisions and the notification outbox together in D1.

The feed reads the committed posts. A refresh can collect new facts without publishing anything; incomplete or rejected drafts leave the existing archive intact.

The implementation

Roles of the main technologies in the published FPL site
InterfaceReact and TypeScript, with responsive CSS, account profiles, gameweek and team filters, search, threads and browser-local bookmarks.
RuntimeChatGPT Sites using Vinext on Cloudflare Workers. The portfolio itself remains a separate static website on Cloudflare Pages.
Persistent stateCloudflare D1 stores official snapshots, matchday observations, posts, prior revisions, publication records and pending notifications.
Fresh writingThe linked ChatGPT task writes each new post. The Worker supplies the facts and validates the submitted draft; authoring uses no separate model API key.
AccessChatGPT sign-in and an invitation-based league audience. Account writing instructions are available only to the owner.
DeliveryPublished post IDs are read back before notification acknowledgement. The stored claim records a notification handoff; device delivery has no transactional receipt.
01 — BEFORE THE DEADLINE

Look ahead

Use the official next gameweek and fixture list to prepare previews within the 36-hour deadline window.

02 — SQUAD MOVES

Follow the market

Separate accepted claims from rejected attempts. New transfer stories use the verified incoming player's photo and real transaction status.

03 — MATCH NIGHTS

Observe the swing

Save settled matchday observations. Reconciled cumulative fantasy scores support fixture cards and selected stories; unfinished weeks remain provisional.

04 — WEEK COMPLETE

Give the verdict

Publish one weekly verdict per manager only when all four H2H matches finish and all eight squads reconcile with their official totals.

A voice guide for every account.

Each writing job includes the account's tone, verified facts and six recent messages. The publication validator checks the account archive and other drafts for repeated structures. Pundits, transfer reporters and editorial accounts all use newly written prose.

Two schedules, one source of truth.

A daily check normally runs at 12:05 Europe/Berlin and moves to the official waiver or squad deadline plus ten minutes on relevant days. A match-night check targets the final scheduled kickoff plus 250 minutes, allowing for play and score settlement. Finished fixtures and reconciled totals still decide whether publication can proceed.

History keeps its identity.

Unique source identities keep repeated checks from creating duplicate posts. Material score corrections keep the same post ID and preserve the previous text. New posts receive the actual publication time; reconstructed archive times are labeled.

Changes need a story.

Significant waivers, three new locked starters or a verified shift in a fantasy matchup can justify coverage. Favourite-club badges are refreshed separately from editorial identity, so a branding update preserves the existing post and its notification state.

Facts first.
Then the punchline.

Trust is what lets the editorial exaggeration work. The numbers, results and transfers have to survive scrutiny.

Source before satire

Facts should trace back to official Fantasy Premier League Draft information. No fake claims, made-up performances or incorrect head-to-head results presented as genuine events.

Parody, not impersonation

Real-life football media personalities inspire distinct writing styles. The website labels its accounts as parody and does not represent an endorsement or participation by those people or their organizations.

The archive matters

Historical content remains tied to the original gameweek. When the system revisits older weeks, it should not pretend to be reporting historical events in real time.

Built to evolve

Lineups, favorite clubs, managers and season mechanics change. The product keeps its source history while its editorial rules and publishing routines evolve. Failed upstream requests preserve the archive, and checks with no new content remain quiet.

Mature Play FC Draft is an independent, fan-made fantasy football project. It is not affiliated with, endorsed by, or officially connected to the Premier League, Fantasy Premier League, any featured journalist, or any media organization. The parody profiles do not represent genuine accounts or statements. The images on this page are genuine screenshots saved with published versions of the site. They show a moment in the season; the feed continues to change.

One league. An entire football media universe.

The pundits have opinions.
See what they're saying.

Open the league site