2026 Dynasty Rookie Draft - Operational Playbook
Launch date: Sunday, May 10, 2026 (2 weeks post NFL-Draft) Run-through: June 30, 2026 Owner: David Why now: First off-season engagement event for NuroPicks Fantasy dynasty users. Wave 4 research confirmed this is the moment dynasty users pay attention - between NFL Draft weekend (Apr 24–26) and the first rookie draft wave (~May 8–12).
1. Timeline
| Date | Milestone |
|---|---|
| Apr 24–26 | NFL Draft weekend. We publish live grades in the Discord and X. |
| Apr 26 (Sat AM) | Publish blog/2026-nfl-draft-fantasy-grades.md. Email blast to Fantasy list + Discord announce. |
| Apr 26–28 | Run workers/nfl_data/seed_rookies_2026.py daily to pick up UDFA signings + corrections. |
| Apr 28 | Nightly cron on src/services/ai/rookie-rankings.ts turns on (snapshot to rookie_rankings_cache). |
| Apr 29 – May 2 | Soft-launch the mock tool at /fantasy/rookie-draft/mock. Invite-only to alpha testers. |
| May 3 | Public launch of mock. Push via Discord + X. |
| May 10 | OFFICIAL LAUNCH - full rookie draft hosting live (create, join, trade-pick Discord commands enabled; draft room opens). |
| May 10 – Jun 30 | Primary window. Most dynasty leagues run their rookie drafts here. |
| Jul 1 | Sunset the mock countdown; fold rookie features into the regular fantasy hub. |
2. Surfaces shipped
- DB migration:
db/migrations/0016-rookie-drafts.sql - Rookie seeder:
workers/nfl_data/seed_rookies_2026.py(daily Apr 26 – May 3, then weekly) - Ranking service:
src/services/ai/rookie-rankings.ts(nightly cron0 5 * * *UTC) - AI auto-pick:
src/services/ai/rookie-draft-ai.ts - AI content drafter:
src/services/ai/rookie-ai-drafter.ts(weekly, publishes to blog) - Public hub:
web/src/app/fantasy/rookie-draft/page.tsx - Draft room:
web/src/app/fantasy/rookie-draft/[draftId]/page.tsx - Mock draft:
web/src/app/fantasy/rookie-draft/mock/page.tsx - Rankings table:
web/src/components/fantasy/RookieRankings.tsx - Discord commands:
src/bot/commands/fantasy/fantasy-rookie-draft.js - Blog post:
blog/2026-nfl-draft-fantasy-grades.md
3. Ranking sources
Composite rank blends four sources with the following weights:
| Source | Weight | Signal |
|---|---|---|
| NuroPicks internal model | 0.40 | Draft capital + college production + landing spot + breakout-age |
| DynastyLeagueFootball (DLF) | 0.25 | Community consensus, includes rookie + future picks |
| KeepTradeCut (KTC) | 0.20 | Market-driven, reflects actual trade behavior |
| Fantasy Footballers | 0.15 | Mainstream rank, tie-breaker |
Any source that fails to return data is skipped and the remaining weights are re-normalized. Rankings are snapshotted into rookie_rankings_cache nightly.
4. AI auto-pick priority
The live room and the mock tool use the same pickRookie() stack:
- Targets - if any gsis_id on the team's target list is still on the board, take highest-ranked target.
- Needs - positional scarcity on the team's dynasty roster (QB: 1 starter, RB: 4, WR: 5, TE: 2; superflex → QB: 2).
- Value + rank - best composite rank, weighted up when the gap to the next 3 picks is >5.
- Avoid list - never pick a player explicitly blocked, even as BPA.
5. Marketing timing
Hype window (Apr 24 – May 2)
- Live NFL-Draft reactions in the Discord.
- X: landing-spot grades per rookie, real-time.
- Email: "2026 rookie class ranked - NuroPicks" →
/fantasy/rookie-draft.
Conversion window (May 3 – May 10)
- Mock draft tool goes public on May 3. Every mock pick drops a cookie so we can bring users back.
- Discord DM series to dynasty-league commissioners: "Host your rookie draft here - here's why."
- X thread: the AI's own rookie mock draft (generated via
rookie-ai-drafter.ts). One post per round.
Run window (May 10 – Jun 30)
- Feature one hosted draft per week in the Discord.
- Publish an AI-drafted "how this class is landing in real dynasty drafts" post every Tuesday.
- Track: count of rookie_drafts rows, attach-rate to existing fantasy leagues, pick trades executed.
6. Integration notes
- The live draft room reuses the Socket.IO service in
services/draft-room. We passrookie_only=trueon the join payload; the service filters the player universe tofantasy_players.is_rookie_2026 = TRUE. - Rookie drafts can be standalone (
league_id = NULL, public mock) or attached to an existingfantasy_leaguesrow (dynasty league hosting its rookie draft). - Pick trading is supported pre-draft and in-draft. Every trade writes a row to
rookie_pick_trades(audit).rookie_draft_order.current_slotis the live source of truth for who picks where.
7. Success criteria
| Metric | Target by Jun 30 |
|---|---|
| Mock drafts started | 1,500 |
| Real (league-attached) rookie drafts created | 60 |
| Unique users in a rookie draft room | 500 |
Discord /fantasy-rookie-draft create calls |
80 |
| Blog post visitors | 8,000 |
8. Rollback plan
If seed_rookies_2026.py misreads the draft board (wrong pfr→gsis map, missing UDFAs) we can safely re-run - the upsert is idempotent. If a production rookie draft goes sideways mid-event, toggle rookie_drafts.status = 'paused' via SQL and the commissioner flag to resume or cancel. Never hard-delete rookie_draft_picks rows (audit trail for pick trading).