Most AI experiments live in notebooks.
This one lives in production.
A dynasty fantasy football site built from scratch that 16 real people use every single week to make real decisions. It's also a live test for figuring out where AI actually helps — and where it just gets in the way. Not a demo. Not a toy. A real app with real stakes.
The Problem Domain
Why dynasty fantasy football turned out to be a perfect testing ground for AI
Dynasty fantasy football isn't the same game most people know. You don't redraft every year. You own players across multiple seasons, sign them to multi-year contracts, manage a salary cap, and plan your roster the way an NFL front office would — except you're doing it in a group chat at 11pm on a Tuesday, which is its own kind of decision-making environment.
It also turns out to be a great place to test AI, because two totally different kinds of problems are happening at the same time: ones with exact right answers, and ones that are more like educated guesses.
The salary cap is $45M. Not roughly. Not "around there." Going over disqualifies your roster. That's not a place for AI to weigh in — it's just math. But figuring out whether a 27-year-old running back is worth a 3-year, $9M contract? That involves injury history, usage trends, age, offensive scheme, and a dozen other things all at once. That's exactly where AI can help.
How It's Built: The Big Separation
The single most important decision made early on — and why it paid off
The most important decision made early — and never changed — was this: keep the exact math completely separate from AI's judgment calls. Not just in theory, but enforced in the actual code. It sounds simple. In reality, it takes discipline to stick to as new features pile up and the easy answer is always "just let AI handle it."
salary-calculations.ts — cap math, salary escalation, dead money?testDate="Letting AI do the salary cap math would make the app worse, not better. The question isn't whether AI is smart enough — it's whether this is even the right kind of question to ask AI in the first place."
How AI Is Used
Every AI feature follows the same four-step setup — no freestyle chatbots allowed
Every AI feature on this site follows the same four-step setup. The goal is simple: always know what AI is doing, be able to check its work, and fix it when it's wrong. That takes more planning upfront, but it pays off.
AI Builds It Too
AI isn't just a feature in the app — it helps write the app itself
The most interesting part of this project isn't any one feature. It's how the whole thing gets built. AI doesn't just power the features inside the app — it's part of the process of writing the code itself.
The AI Insights System is a running notebook of everything learned along the way — organized into files by topic (design patterns, API quirks, component rules) and by feature. Before every coding session, the relevant notes get loaded in. After, anything new gets written back.
This means AI gets smarter about the project over time instead of forgetting everything between sessions. It's not starting from scratch each time — it has notes. The knowledge stacks up.
The same rules that apply to using AI in the product apply here too: give it only what it needs, keep a clear format, and make sure mistakes get caught and fixed instead of quietly piling up.
"The way the site is built runs on the same principles as the site itself: focused information, clear format, and a feedback loop that improves over time. How it's built is the point."
What We Learned the Hard Way
Two patterns that only show up when real people use your AI features for real
Two patterns showed up that you'd never catch in a test environment — only after a full season of real decisions with real consequences when the answers were wrong.
Asking AI a specific question works better than asking a broad one. Not because AI is smarter with less to think about — but because a narrow question makes it easier to spot a wrong answer. "Rate this trade value 1–10 and name the three biggest factors" gives you something you can verify. "What do you think about this player?" sounds useful but hides bad answers until they've already cost you something.
When AI gives a wrong answer, the data fed to it is usually the culprit — not the AI itself. Outdated stats, a salary that's off by a year, a player who got traded mid-season. Given clean, accurate data, AI's reasoning is usually fine. This means keeping the underlying data accurate matters just as much as anything AI does with it.
Ship Small, Learn Fast, Repeat
The site is built the same way it works — one piece at a time, always with the next step in mind
The same approach used to build AI features is used to build the whole site: be clear about what you're making, ship something small, see how it works, fix what's broken, and repeat. Every feature is built to work together with the others — not as a one-time standalone thing.
The What's New section — which updates every week with real screenshots and plain-English explanations — isn't just documentation. It's a discipline. If you can't write clearly what changed and why it matters, you probably don't fully understand what you built yet.
Every piece of this site was built with the Auction Price Predictor in mind as the eventual goal. Features don't ship just because they work — they ship when they fit into the larger system. Being able to plug into other features isn't optional, it's a requirement from day one.
The Auction Price Predictor
What this entire system was designed to support
Dynasty auctions are one of the hardest things to predict in fantasy sports. You're not just asking "is this player good?" — you're asking "what will someone actually pay for this player, right now, with these 12 managers, given who's already been sold?" The same player can go for double or half the price depending on when they show up in the auction and how desperate people are at that position.
That's exactly the kind of messy, multi-factor problem where AI can actually help — as long as it's sitting on top of a solid foundation that knows exactly how much cap space each team has left, which positions still need to be filled, and what players have actually cost in previous years.
Every decision made building this site — how the layers split, how data flows, how shared tools are built — was made with this feature in mind. The groundwork is done. This is what comes next.
Doing It All Yourself
When there's no one to hand off to, you learn every part of the system
Most teams have specialists. Designers hand off to engineers. Engineers hand off to data teams. Business people delegate everything technical. This project had none of that. Every part of it — design, code, data, AI, content, strategy — had to be figured out and owned by one person.
The result is that everything connects. How the site looks shapes how data is structured. How data is structured shapes what AI is told. What AI produces shapes what goes in the changelog. What's in the changelog shapes what gets built next. It's one system wearing different hats.
"These aren't separate skills that happen to live in the same person. It's one skill: understand how the whole thing works, own it from top to bottom, and just ship it."
The Bottom Line
The AI tools that actually work in the real world aren't better because they use a smarter model. They're better because of everything around the model: how the questions get asked, what information gets passed in, how the answers get checked, and whether anyone's paying attention when something goes wrong.
This project is proof of that. It's built in a domain where the rules are strict, the stakes are real, and 16 people are checking in every week to see if their team is still competitive. That's about as good a test as you can get.
Message