Fantasy Flu
AI-Native Fantasy Football Platform: League History, AI-Written Weekly Stories, and Keeper Tracking on Top of Sleeper

Project Overview
FLU (Fantasy League Utils) sits on top of Sleeper and gives a fantasy league its memory: every trade traced to the end of the line, keepers and salary contracts tracked automatically, and a weekly story written from the league's own numbers. It runs at fantasyflu.com as a live product: a mobile-first PWA, a FastAPI backend, push notifications, passkey sign-in, and per-league Pro pricing.
My Contributions
Solo founder. I own the product strategy, UX, design system, pricing, and every line of code, from the trade-graph engine to the marketing site. I also designed the AI layer: LLM-written weekly stories, the guardrails that keep them factual, and an LLM judge that grades every story. The whole product is built with AI agents, using Claude Code as my engineering team.
Skills used for this Role
Founder, Product & Engineering
May 2026 - Present
LLM Product Design | Prompt Engineering | LLM-as-Judge Evals | AI Guardrails & Grounding | Claude Code / Agentic Development | Product Strategy | UX & Design Systems | Full-Stack Development | Pricing & Packaging | Data Modeling
Key Takeaways
Shipped a production LLM feature end to end: a grounded generation pipeline, validation, versioned prompts, and an automated LLM judge.
Built the entire product AI-natively, with me as product lead and Claude Code agents doing engineering from written plans and design briefs.
Every product decision rests on one principle: show the data, never give a verdict.
The Product
One question per session, answered fast. FLU is a research tool, not a feed.
Trade Tracer
The core engine rebuilds a league's full history as a graph of every pick and player. A 2022 first-round pick becomes a player, the player gets flipped, and the chain rolls up to whoever holds the asset today. A league vote asks "who won the trade?" again at 1, 3, and 5 years, so the answer has its own history.

AI in the Product
Every Tuesday, FLU publishes a story about each league's week. An LLM writes it, and a second LLM checks the work.
AI-Written Weekly Stories
It's Spotify Wrapped for your fantasy week: a swipeable, broadcast-style story deck built to be shared in the group chat. When a week settles, FLU builds a fact sheet from the league's own data: results, records, playoff swings, and rivalries. Claude writes the story from that sheet, and every content slide has to cite the fact-sheet lines it uses. Stories are generated through the Message Batches API, validated against a shared slide contract, and then frozen, so a later prompt change never rewrites a story someone already watched.

Guardrails: Grounded, Never Judgmental
The LLM Judge
AI as the Build Team
A full-stack product built by one product lead working with AI agents.
How I Build With Claude Code
More of the Product
Free tools give every league its history. Pro adds the layers a commissioner would otherwise keep in a spreadsheet.
Keeper & Contract Tracking
Salaries, keepers, and contracts are tracked automatically. Cap issues and rule penalties are flagged to the whole league but never blocked, so the commissioner retires the spreadsheet. On keeper day, the Keeper Selector turns the decision into one board: every rostered player with his real cost to keep, contract year, current production, and positional rank. Costs, cap room, and open slots update live as you check players, and the plan autosaves.


In-Season Intelligence
Each start-sit decision is scored against the player you benched and rolled into one Manager IQ number. Playoff odds come from simulated seasons, and power rankings cover every position.

Teams, Records & Draft Order
Every franchise gets its own profile: trade partners, roster construction, and trophies. Every season gets rebuilt into an all-time record book. A total-points draft order gives the best pick to the worst overall team, not the unluckiest schedule.

Want to work together?
If you like what you see and want to work together, get in touch!