AI

How I Monitor 38 Education Bills While I Sleep

On March 30, a Senate amendment quietly changed the virtual school closure bill to shift authority from the state to individual LEAs. It wasn't in the bill summary. It wasn't in the newsletter from our advocacy group. It was buried in SA0611, one of 51 amendments I was tracking across 38 bills.

I caught it because I built a system that catches things like that.

The Problem Every Small District Has

Large districts have government relations staff. State associations put out weekly summaries, but they're broad, they lag by a few days, and they don't tell you what a bill means for *your* district. When you're an assistant director at a 2,800-student district, legislative monitoring is something you do between budget meetings and bus route complaints.

During the 2025-2026 Tennessee General Assembly session, I started with the same approach everyone uses: skimming the TSBA updates, reading EdTrust emails, occasionally pulling up a bill on the legislature's website. It worked fine until it didn't. Bills were moving fast. Amendments were changing the substance of what I thought I understood. And I realized I was spending hours each week just trying to stay current, let alone actually analyzing what any of it meant for us.

Building the Tracker

In early March, I built a Claude Code skill that scrapes the Tennessee General Assembly website, pulls status, votes, amendments, fiscal notes, and sponsors for every bill I'm tracking, then generates a color-coded Excel workbook with six sheets: the main tracker, category breakdown, timeline, full details, amendments, and vote analysis. It rates each bill's impact on our district, flags close votes, and highlights fiscal notes.

The first run pulled 32 bills from a State Affairs Pro report. By April, we were at 38 bills and 53 amendments.

The system runs in parallel, eight bills at a time, fetching directly from wapp.capitol.tn.gov. A full update takes a few minutes. I scheduled automated runs for heavy hearing days using launchd, so updates just showed up in my inbox after evening floor votes.

Screenshot of tracker spreadsheet

Where It Actually Mattered

The tracker isn't interesting because it's automated. It's interesting because it changed what I could do with the information.

When HB 2485 (expanding the TISA economically disadvantaged definition, $83.7M fiscal note) came up for subcommittee, I already had the data I needed. I pulled our enrollment numbers, the gap between our CEP methodology and the TISA classification, and the roughly $800,000 annual funding impact, then sent tailored emails to our representative and senator the same day the alert came in. The tracker had already done the homework. I just had to write the email.

When HB 2393 (K-5 digital device restrictions) passed the House 87-6, I knew immediately that the original prohibition had been softened by amendment SA0607 into a policy-based approach with eight permitted use categories. That distinction matters for how we plan our implementation. Without amendment tracking, I would have read "digital device bill passes" and assumed the worst.

When HB 0793 (immigration enrollment verification) accumulated nine amendments across both chambers, the tracker flagged each one and assessed whether it changed the compliance burden. The headline bill and the bill-as-amended were two very different things.

The Evolution

This is the part I think matters most for anyone considering something similar. The tool didn't start as what it is now. It started as a spreadsheet generator. Then I realized amendments were changing bills substantively, so I added amendment tracking. Then I caught a discrepancy between what the tracker reported and what was actually on the legislature's website, so I built a fact-check mode that runs three parallel verification agents across all 38 bills. Then I got tired of the plain-text email summaries, so I added an HTML email generator with color-coded status badges and hearing schedules that I can forward directly to my leadership team.

Each addition came from hitting a real wall, not from planning features in advance.

What This Means for Districts Like Mine

I open-sourced the skill on GitHub with the PII scrubbed. It's built for Tennessee's legislature website, but the architecture is the same for any state: fetch bill status from the official source, track amendments, categorize by district impact, generate reports.

The point isn't that every district administrator should learn to build Claude Code skills. The point is that the gap between what large districts can monitor and what small districts can monitor just got a lot smaller. The tools exist. The data is public. The bottleneck was always the human time to pull it all together, and that bottleneck is gone.

Three bills from my tracker are now law. Three more are on the governor's desk. The ESA expansion bill, at $150 million the biggest fiscal item on the tracker, goes to full Finance Committee on Monday. I'll know what happened before I finish my coffee Tuesday morning.

That's not a lobbyist. That's a laptop and a well-built prompt.

Building an AI-Powered Fantasy Football Draft Assistant with NotebookLM

When researching fantasy football strategies, you’ll notice that they almost all say the same thing: draft Ja’Marr Chase or Justin Jefferson in the first round. Beyond that, it gets a little hazy. Some say to go heavy with WRs and some say to go heavy with RBs, and some say don’t even look at a RB or QB until the 5th round. Sifting through all of this great advice is a slog, and ultimately, you’re left a bit more confused than you were in the beginning. This year, I’m turning to AI to organize this information into something that I can use both ahead of time and in real time to draft my fantasy football team.

My AI strategy

My plan is to use NotebookLM as my draft day guide and the place where all of my research ends up. You can see my notebook at the link above.

In the notebook, I had ChatGPT generate a deep research prompt to use. This is what it came up with:

"Fantasy Football Deep Research Prompt I am preparing for a 10-team PPR fantasy football league with the following setup: Roster Size: 16 players Starters: 9 Bench: 7 (+1 IR) Positions: QB: 1 (max 4) RB: 2 (max 8) WR: 2 (max 8) TE: 1 (max 3) FLEX: 1 (RB/WR/TE) D/ST: 1 (max 3) K: 1 (max 3) Scoring System: Head-to-Head Points, PPR (point per reception). Draft Type: Snake Draft. Research Goals Draft Rankings & Strategy Provide updated player rankings and tiers for QB, RB, WR, TE, FLEX, D/ST, and K in a 10-team PPR league. Identify early-round must-target players at each position based on projected points per game, positional scarcity, and upside. Recommend value picks and sleepers (players likely to outperform ADP). List players to avoid (injury risk, overvalued, declining production). Positional Breakdown Ideal draft strategy by round (e.g., RB-heavy early vs. WR priority). Depth chart analysis: when to prioritize QB vs. TE vs. FLEX depth. Defense & kicker strategy (when to draft, which matchups to target). Schedule & Playoff Outlook Identify players/teams with the most favorable fantasy playoff schedules (Weeks 15–17). Highlight key players with tough matchups to avoid. Advanced Analytics Use expected fantasy points (xFP), target share, snap counts, and red-zone usage to identify breakout players. Incorporate injury history and workload trends into rankings. Compare upside vs. floor for mid-round picks. League-Specific Adjustments How roster depth (7 bench spots, 1 IR) should affect draft strategy. Best balance between high-floor starters vs. high-upside bench stashes. Waiver wire strategy recommendations given a 10-team setup (shallower league, stronger FA pool) This should give you a highly targeted research pack with rankings, projections, draft plans, and league-specific strategy tailored to your exact format.

I then used this same prompt for ChatGPT, Google Gemini, Claude, and Perplexity.

I downloaded each result to a PDF and then added it my NotebookLM. I generated a Mindmap, Podcast, and Presentation from NotebookLM (mostly for fun). The mindmap is very useful.

My plan is to talk to NotebookLM in real-time to let it know who has been drafted to give me a suggestion for my next pick. I will also put the same questions into AI. I only have 60 seconds to draft my next player, so I will have to be fast and be ready to go.

I’ll let you know how it turns out. Last year, I forgot about the draft only 15 minutes after sitting down to do it, and I finished 2nd in the league, so maybe this year will be better (or much worse).

Enjoy this video overview that my NotebookLM generated from my fantasy research docs, and don’t miss the podcast that it generated.