Draft Debrief 2026

I love fantasy football. Every year I look forward to curling up on the couch on that first Sunday of the football season with my wife and pets, but before that we get to do my favourite part: drafting.

My league of record is a 16 team, half-PPR league. Over 14 rounds we draft north of 200 players, which means going deep on rookies and fliers you’d never touch in an 8 or 10 team league. As an extra twist, we don’t find out our draft slot until right before the draft, so prep has to work from anywhere on the board.

I’ve been looking for a way to use LLMs in my draft prep for a couple of years, and this year I finally built two tools I’m happy with: one to help me prepare before the draft, and one to check my work after it.

Before the draft: a sentiment tracker

In the past I’ve kept a manual spreadsheet of vibes. Any time I heard something positive or negative about a player in the preseason, I’d jot down a 1 or -1 next to their name. It was never meant to replace rankings, but it was a useful tiebreaker when I was stuck between two similar players.

This year I automated it. I wrote a small script that runs every morning, trawls through a mix of beat reporters, newsletters, and news sites, and scores the sentiment of every player mentioned.

My first attempt used a simple Python sentiment analyser, falling back to an LLM only when the result was ambiguous. At first glance it looked fine, but digging into the results made it clear it wasn’t. “Evans is back to practice after a groin injury” came out positive, even though the real story is that Evans is already hurt. Generic sentiment analysis reads tone; what I needed was fantasy context.

So I dropped the analyser and went all in on a simple prompt: take a list of player names and snippets about them, and assign each a score from -1 (really bad) to 1 (really good). Then I took a rolling average of those scores, weighted toward more recent mentions, and called it good.

It was especially helpful in the later rounds when picking rookies. Rookies get a ton of preseason coverage and can make or break a draft, so any extra signal on them is valuable. You can see the whole project here if you’re curious.

Mock drafts

Mock drafts are both the most useless and the most useful thing in fantasy football. Spamming them and assuming your real draft will shake out the same way is a fool’s errand. But they’re great for testing strategies and getting a feel for how a draft might go: What if I go WR, WR? An early QB? No QB at all?

The big story this year was how scarce RBs were, so I ran a few mocks intentionally skipping RBs early to see what that felt like. It convinced me to go RB, RB at the top unless the value was too good to pass up, so drafting 15th, picking back-to-back at the turn, suited me perfectly.

After the draft: checking my rankings against the room

Everyone in our league shows up with rankings, even if they’re not all from the same source. In past years mine have seemed to differ a lot from everyone else’s, with some players going in a completely different order than I’d anticipated.

This year I wanted to know if that was actually true, so I built a simple visualizer. I simulated two drafts, one where every team picks strictly from my rankings and one where every team picks strictly from Sleeper’s ADP, and compared both against how our real draft went.

This was really helpful for confirming some things I’d suspected before. For example, our league really likes to wait on onesie positions like QB and TE. My sheet always valued mid-tier RBs far higher than WRs. WRs were regularly going far earlier than I’d expected.

Three weeks in

As I write this, we’re wrapping up week 3. I’m 3-0 and very happy with my draft, especially the late-round picks, which is exactly where the sentiment tracker was meant to help.

I’m looking forward to tinkering more with these tools next year. I’m hoping to find a good beat reporter for each team I can reliably pull info from, and potentially some college ball reporters for better rookie scouting.