LexConsumer
Draft Stonk
Fantasy football for stocks — league creation and draft setup flows work; draft context fetch, pick submission, real-time pricing, and social features are the next milestones
Competes with Fantasy Stocks
AlphaLexConsumer
Key metrics
- Active leaguesNeeds instrumentationNot measured
Leagues with at least one completed draft in the last 30 days.
- Drafts completed weeklyNeeds instrumentationNot measured
Drafts taken to completion across all leagues each week.
- Pick submission p50Needs instrumentationNot measured
Median latency for a draft pick to be accepted by the server.
Competitive Intel
0 entries
No competitive intel entries for this product yet.
Research Hub
2 types
Roadmap
201 items
Planned152
"Fantasy game. No real money. Not investment advice." copy is visible
`.env.example` documents all required and optional env vars
`DEV_AUTH=true` enables auth bypass; absent or false uses real OAuth
`draftSessions`, `draftParticipants`, `draftPicks` tables exist in schema with all spec'd columns and constraints
`pnpm db:generate` produces a clean migration
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
Activity feed renders as primary content surface on dashboard
All 8 screens implemented matching spec layout, typography, spacing, and color
All authenticated screens consume existing API hooks
All phase tests pass
All phase tests pass
All phase tests pass
All phase tests pass
All screens consume existing API hooks
All screens consume existing API hooks
All screens consume existing API hooks (draft session, standings, etc.)
All screens functional with existing API hooks
All screens functional with existing API hooks
All screens functional with existing API hooks
All screens functional with existing API hooks
All screens implemented matching spec layout and competitive aesthetic
All screens implemented matching spec layout and design tokens
All screens implemented matching spec layout, indigo/violet design tokens
API tests pass for pick submission, duplicate prevention, timeout, and turn enforcement
Avatar system displays on all user-facing elements
Bot picker utility selects deterministically from available stocks given the same seed, never picks a drafted stock, verified by unit tests
Consolidated UI spec produced via `/ui-consolidate`
Consolidated UI spec produced via `/ui-consolidate`
Consolidated UI spec produced via `/ui-consolidate`
Consolidated UI spec produced via `/ui-consolidate`
Context endpoint returns full draft state including server time for clock-skew correction
Countdown timer displays seconds remaining and auto-advances on timeout
Countdown timer displays seconds remaining and auto-advances on timeout
Dark mode renders correctly across all screens
Design system tokens and shared components render correctly
Draft completes when final pick is made; session status becomes `completed`
Draft completion CTA routes to league results page
Draft completion shows final board summary
Draft completion shows final board summary
Draft order feed shows participant display names and all picks
Draft order feed shows participant display names and all picks
Draft order utility returns correct snake sequence for 2, 3, 4+ participants across multiple rounds, verified by unit tests
Draft screen is usable on mobile (no hover-only interactions, readable on 375px width)
Draft screen is usable on mobile (no hover-only interactions, readable on 375px width)
Draft start creates a real session with bots; start view shows randomized participant order
Draft start creates a real session with bots; start view shows randomized participant order
Draft survives page refresh (reloads from server context)
Draft survives page refresh (reloads from server context)
Final UI implemented at primary routes
Final UI implemented at primary routes
Final UI implemented at primary routes
Final UI implemented at primary routes
Full Quick Draft loop (setup → draft → standings) completes on desktop
Full Quick Draft loop completes on mobile (375px)
Human pick submission shows bot picks appearing in the feed immediately after
Human pick submission shows bot picks appearing in the feed immediately after
Human pick submission writes to `draftPicks` and `portfolioStocks`, advances through instant bot picks, and sets the next human deadline
Landing page mini-draft is playable without authentication
League results page renders standings, per-pick returns, and price freshness copy
Manual end-to-end verification (full Quick Draft → Standings loop)
Manual end-to-end verification (full Quick Draft → Standings loop)
Manual end-to-end verification (full Quick Draft → Standings loop)
Manual end-to-end verification (full Quick Draft → Standings loop)
Mini-draft completes 3 rounds with AI opponent and shows results
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mock provider returns consistent prices for the same ticker/seed
No regressions in previous phase tests
No regressions in previous phase tests
No regressions in previous phase tests
No regressions in previous phase tests
OAuth conversion preserves mini-draft result on dashboard
Production build with `DEV_AUTH` unset uses real auth only
Rank tier system renders correct colors/badges for each tier
Seed scripts create usable test data for all app flows
Server rejects: wrong drafter, expired deadline, duplicate stock, non-eligible stock, inactive session
Standings endpoint returns participants ranked by portfolio return percentage
Starting a quick draft creates a session with 1 human + correct number of bot participants in randomized order
Step 10.1: Run `/ui-consolidate` — produce consolidated UI spec
Step 10.1: Run `/ui-consolidate` — produce consolidated UI spec
Step 10.10: Remove variation route groups + clean up imports
Step 10.10: Remove variation route groups + clean up imports
Step 10.11: Archive variation feature directories
Step 10.11: Archive variation feature directories
Step 10.12: Write regression tests for consolidated UI
Step 10.12: Write regression tests for consolidated UI
Step 10.13: Final verification — lint, typecheck, test, build
Step 10.13: Final verification — lint, typecheck, test, build
Step 10.2: Build consolidated design system + shared primitives
Step 10.2: Build consolidated design system + shared primitives
Step 10.3: Build consolidated navigation + authenticated layout
Step 10.3: Build consolidated navigation + authenticated layout
Step 10.4: Consolidate landing page + login
Step 10.4: Consolidate landing page + login
Step 10.5: Consolidate dashboard / home page
Step 10.5: Consolidate dashboard / home page
Step 10.6: Consolidate Quick Draft setup flow
Step 10.6: Consolidate Quick Draft setup flow
Step 10.7: Consolidate live draft screen
Step 10.7: Consolidate live draft screen
Step 10.8: Consolidate league hub (overview, members, standings, history, share)
Step 10.8: Consolidate league hub (overview, members, standings, history, share)
Step 10.9: Consolidate leaderboard
Step 10.9: Consolidate leaderboard
Step 8.10: Leaderboard (`/v4/leaderboard`)
Step 8.11: Write regression tests covering key V4 components
Step 8.12: Run lint, typecheck, build — verify no regressions
Step 8.2: Rank tier components + streak counter
Step 8.3: Landing page (`/v4/`)
Step 8.4: Top nav + bottom tab bar + authenticated layout
Step 8.5: Arena Lobby / Dashboard (`/v4/home`)
Step 8.6: League/Arena Creation Wizard (`/v4/leagues/create`)
Step 8.7: League Hub — Overview + Members (`/v4/league/[leagueId]`)
Step 8.8: Live Draft Screen (`/v4/draft/quick/[leagueId]`)
Step 8.9: League Hub — Standings + Draft History tabs
Step 9.1: Design system + shared V5 primitives
Step 9.10: Leaderboard (`/v5/leaderboard`)
Step 9.11: Write regression tests covering key V5 components
Step 9.12: Run lint, typecheck, build — verify no regressions
Step 9.2: Landing page (`/v5/`)
Step 9.3: Login page + onboarding
Step 9.4: Dashboard nav + authenticated layout
Step 9.5: Dashboard / Home (`/v5/home`)
Step 9.6: Quick Draft Setup (`/v5/leagues/create`)
Step 9.7: League Hub — Overview + Members (`/v5/league/[leagueId]`)
Step 9.8: Live Draft Screen (`/v5/draft/quick/[leagueId]`)
Step 9.9: League Hub — Standings + Draft History + Share
Timeout advancement creates a timeout-source pick and continues through bots
Unit tests pass for draft order, bot picker, and standings math
Variation route groups archived or removed
Variation route groups archived or removed
Variation route groups archived or removed
Variation route groups archived or removed
Done49
`draftSessions`, `draftParticipants`, `draftPicks` tables exist in schema with all spec'd columns and constraints
`pnpm db:generate` produces a clean migration
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
`pnpm lint` and `pnpm build` pass
Activity feed renders as primary content surface on dashboard
All 8 screens implemented matching spec layout, typography, spacing, and color
All authenticated screens consume existing API hooks
All phase tests pass
All phase tests pass
All phase tests pass
All phase tests pass
All screens consume existing API hooks
All screens consume existing API hooks
All screens consume existing API hooks (draft session, standings, etc.)
All screens implemented matching spec layout and design tokens
All screens implemented matching spec layout with fintech-clean aesthetic
All screens implemented matching spec layout, indigo/violet design tokens
Avatar system displays on all user-facing elements
Bot picker utility selects deterministically from available stocks given the same seed, never picks a drafted stock, verified by unit tests
Context endpoint returns full draft state including server time for clock-skew correction
Design system tokens and shared components render correctly
Draft completes when final pick is made; session status becomes `completed`
Draft order utility returns correct snake sequence for 2, 3, 4+ participants across multiple rounds, verified by unit tests
Human pick submission writes to `draftPicks` and `portfolioStocks`, advances through instant bot picks, and sets the next human deadline
Inter font loads via next/font/google
Landing page mini-draft is playable without authentication
Mini-draft completes 3 rounds with AI opponent and shows results
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
Mobile responsive at 375px width
No regressions in previous phase tests
No regressions in previous phase tests
No regressions in previous phase tests
No regressions in previous phase tests
OAuth conversion preserves mini-draft result on dashboard
Patch only clear blockers or low-risk UX defects discovered during playtest.
Play several rounds of the game flow using the browser, noting friction, dead ends, responsiveness issues, and gameplay clarity.
Record playtest findings and verification results in the review section below.
Run a UI/UX pass across landing, auth-gated entry points, quick draft setup, live draft, and post-draft/standings where reachable.
Server rejects: wrong drafter, expired deadline, duplicate stock, non-eligible stock, inactive session
Start the app locally and verify the primary game routes load in-browser.
Starting a quick draft creates a session with 1 human + correct number of bot participants in randomized order
Step 8.1: Design system + shared V4 primitives
Timeout advancement creates a timeout-source pick and continues through bots
Timeline
20 events
May 2026
fix
fix ui playtest blockers
May 11static-
chore
chore: plan Phase 10 — UI Consolidation (13 steps)
May 10static-
chore
chore: archive Phase 9, advance to Phase 10 — UI Consolidation
May 10static-
chore
chore: complete Step 9.12 — V5 final verification, Phase 9 done
May 10static-
chore
chore: complete Step 9.11, plan Step 9.12 — V5 final verification
May 10static-
test
test(v5): add regression tests for V5 theme tokens, badge variants, and leaderboard shape (Step 9.11)
May 10static-
chore
chore: plan Step 9.11 — V5 regression tests
May 10static-
chore
chore: complete Step 9.10, plan Step 9.11 — V5 regression tests
May 10static-
feature
feat(v5): add V5 leaderboard page and table (Step 9.10)
May 10static-
chore
chore: plan Step 9.10 — V5 leaderboard
May 10static-
chore
chore: complete Step 9.9, plan Step 9.10 — V5 leaderboard
May 10static-
feature
feat(v5): add V5 standings table, draft history, and share card (Step 9.9)
May 10static-
chore
chore: plan Step 9.9 — V5 standings + draft history + share
May 10static-
chore
chore: complete Step 9.8, plan Step 9.9 — V5 standings + draft history
May 10static-
feature
feat(v5): add V5 live draft screen with timer, feed, stock picker (Step 9.8)
May 10static-
chore
chore: complete Step 9.7, plan Step 9.8 — V5 live draft screen
May 10static-
feature
feat(v5): add V5 league hub with overview + members tabs (Step 9.7)
May 10static-
chore
chore: complete Step 9.6, plan Step 9.7 — V5 league hub
May 10static-
feature
feat(v5): add V5 quick draft setup wizard (Step 9.6)
May 10static-
chore
chore: complete Step 9.5, plan Step 9.6 — V5 quick draft setup
May 10static-
Dev Docs
9 files
Docs
- Comprehensive ICP Analysis: Draft StonksMay 15, 20263.2 KB
- GTM Strategy: Draft StonksMay 15, 20267.1 KB
Specs
- Quick Draft MVP SpecMay 15, 202615.6 KB
- UI Spec: Draft Night — Sports Broadcast (V1)May 15, 202641.6 KB
- UI Specification — Variation 3: Sleeper for Stocks (Social-First Platform)May 15, 202657.7 KB
- UI Specification v4 — Stock Picker ArenaMay 15, 202655.0 KB
- UI Specification: V5 — Clean & Confident (Fintech Meets Game)May 15, 202643.6 KB
- UI Specification: Variation 2 — Play in 60 SecondsMay 15, 202649.4 KB
- UX Variations: Full App Experience — Draft StonkMay 15, 202630.2 KB