peopleanalyst

← Portfolio

Fourth & Two

↻ brief 5d ago

Gridiron Platform — a fantasy football platform built around four converging efforts: a GM Command Center (lineup, waivers, trades, draft, rankings), a Python analytics API (PRISM and CAMS frameworks ported to football), an Insight Card system (PRISM trend / CAMS alignment / market-signal cards composed across surfaces), and Strategy League / Football IQ (a coaching-strategy game layered on fantasy leagues with a simulation engine).

Microstory
Customer
Serious fantasy football managers who want analytics-grade decision support, not another projection feed — and the strategy-game audience the Football IQ simulation engine is built for.
Problem · external
Fantasy products are either marketplaces with shallow projections or hardcore stat tools that refuse to make a case. The middle — readable intelligence with a point of view — is empty.
Problem · internal
The week-to-week feeling of being talked at by numbers and never having a guide that takes a position on the lineup, waiver, and trade calls you have to make Sunday morning.
Problem · philosophical
Decisions deserve to be readable. Analytics are only useful when they compose into a case you can argue, with a distribution attached.
Guide
Four products on one substrate — GM Command Center, the Gridiron Analytics API, the Insight Card system, and Strategy League / Football IQ — sharing one statistical posture inherited from people analytics (PRISM for risk-adjusted ranking, CAMS ported framework-for-framework from the people-analyst suite).
Plan
Connect your league (MFL live; Sleeper / Yahoo / ESPN through the formal adapter contract) → the Analyst surfaces the Insight Cards relevant to the week → make lineup, waiver, and trade calls against a distribution range, not a point estimate → optional: drop into Strategy League and play the coaching layer.
Success
A weekly rhythm where the right call is legible — distribution-shaped, framework-grounded, and arguable. Process quality over outcome luck. "Make the decision you can live with."
Failure avoided
Another season of projection-roulette and stat-dashboard tabs that never resolve into a decision.
The problem

Fantasy products are either marketplaces with shallow projections or hardcore stat tools that do not make a case. The middle — readable intelligence with a point of view — is empty. And the strategy-game adjacency is even more under-served: there is no serious head-to-head coaching game where the simulation engine respects fantasy-league context and the analytics that drove the season inform the play.

What I built

A monorepo with four converging efforts: (1) **MFL Command Center** — GM workflow app at `apps/web` (lineup, waivers, trades, draft mode, rankings) with the MFL adapter live; (2) **Gridiron Analytics API** — Python / FastAPI service with PRISM (analytics-grade ranking and decision support) and CAMS (Capability / Alignment / Motivation / Support — the portfolio framework adapted to football roles and matchups); (3) **Insight Card system** — rich composable card components (PRISM trend, CAMS alignment, market signal, more) surfaced at `/insights` (browse) and in-context across Command Center / Strategy League (drill-down); (4) **Strategy League / Football IQ** — coaching-strategy game layered on fantasy leagues with a simulation engine. Migrations through 0023 (LLM enrichment tables); insight-card system has its own vision doc + testing plan + outstanding-work inventory.

What's novel
  • 01Four converging efforts on one substrate — Command Center / Analytics API / Insight Cards / Strategy League. Each ships standalone value; together they compose into a cohesive product narrative.
  • 02CAMS ported from people analytics to football — the same capability-alignment-motivation-support framework that drives Performix's diagnostic instrument, adapted to roles, matchups, and weekly performance. Cross-portfolio framework reuse without re-implementation.
  • 03PRISM — analytics-grade ranking + decision support built into the Python/FastAPI service; not a generic projection engine. Same statistical-rigor posture the rest of the portfolio inherits.
  • 04Insight Card system as the legibility surface — composable cards (PRISM trend, CAMS alignment, market signal) browse-able at `/insights` and embeddable in context. Cards are first-class products; meta-tagging + context filtering govern when each one appears.
  • 05Strategy League / Football IQ — coaching-strategy game with a simulation engine layered on fantasy leagues. Unusual adjacency for an analytics product; the strategy-game audience and the analytics audience are different shapes.
  • 06MFL adapter pattern — formal adapter contract for fantasy provider swaps; the platform is provider-agnostic by design even though MFL is the first integration.
Recent ships
  1. 2026-05-17Operator-Console Visual Discipline pointer landed in CLAUDE.md (P233; DP-156 → DP-160). Admin / source-health / dense-data surfaces now governed by the cross-portfolio operator-console pattern — palette separation, monospace for code-shaped strings, 11–12px density band.
  2. 2026-05-14Portfolio SOTA snapshot committed at docs/snapshots/2026-05-13-fourth-and-two-sota.md (PR #20). Full state-of-the-app written down for cross-repo sync.
  3. 2026-05-06Mike-voice reference pointer added (PA-017). Brief CLAUDE.md section delegating Mike-voice writing to the PA-site canonical spec at peopleanalyst-site/docs/magazine/VOICE.md; distribution pattern for the eventual Phase 2 monorepo move.
  4. 2026-05-03docs/AGENT-ASSIGNMENTS.md stood up. F2-001 captures the research-surface meta-task (decisions-under-uncertainty + off-season-game-design reports, audience-tier reviews, bibliography + literature map) sourced from peopleanalyst-site/docs/research-parity-followups.md.
In progress
  • ·F2-001 — research surface for peopleanalyst.com/research/fourth-and-two — full docs/research/ tree per the trigger prompt; landed files flip the PA-site manifest from forthcoming to live per entry. OVERVIEW + general-audience explainer are the first unlocks.
  • ·Auth activation — Clerk sign-in / sign-up pages + middleware configured; CLERK_SECRET_KEY not yet set in Replit Secrets, so protection is inactive. Last-mile wire-up before any paid surface.
  • ·Provider adapters beyond MFL — adapter contract is formal; Sleeper / Yahoo / ESPN adapters not yet implemented. MFL is the live integration.
  • ·Stripe / subscriptions / tier gating — no paid surface yet; tier model not yet implemented.
Packageable components
ComponentStageReuse
Football strategy simulation engine
packages/engine/
productionDrives Fourth Down Gambit + Drive Duel; wired into Strategy League. Available for reuse.
Insight Card components
packages/ui/src/cards/
production15 card types × 2 themes; first-class product on /insights and embedded in-context across GM Console.
Fantasy-provider adapter contract
packages/adapters/
productionFormal FantasyPlatformAdapter contract + MFL reference adapter; mock + HTTP variants. Available for any fantasy-platform integration.
Analytics client
packages/analytics-client/
productionTyped HTTP client for the Gridiron Analytics API (PRISM / CAMS / RAEV / rankings). Same-origin proxy pattern.
Shared types
packages/types/
productionSource-compiled by Next.js transpilePackages; no pre-build.
LLM enrichment pipeline
analytics-api/core/enrichment/
productionMigration 0023 — player_brief, player_comparable, player_contradiction, team_scheme_profile tables + batch pipeline. Runs at ingestion only, never in the request path.
Architecture

The repo is a four-product monorepo on one substrate — a single Next.js app (`apps/web`) hosts GM Console, The Analyst, Draft Day, and the games shelf; a Python / FastAPI service (`analytics-api/`, on Railway) owns the models. The structurally distinctive bet is cross-portfolio framework reuse — PRISM and CAMS are not re-implemented for football; the underlying capability-alignment-motivation-support model and the risk-adjusted scoring posture are inherited from the people-analyst portfolio and adapted to roles, matchups, and weekly performance. Engine and API stay strictly separated (TypeScript simulation vs. Python data + models). UI components render; they do not compute — analytics live in Insight Cards, never in pages. Sandbox is injected at adapter / API-route / provider entry points only, never branched on inside components. Operator surfaces inherit the Operator-Console Visual Discipline pattern (P233) for palette separation and code-shaped string typography.

Outcome

Private. Four efforts in active development; Insight Cards have their own vision doc + testing plan + outstanding-work inventory tracked separately. Database migrations through 0023 (LLM enrichment tables shipped). Card surfacing decision locked per ADR 0004 (cards ship in `apps/web` at `/insights` browse + in-context drill-down; `apps/analytics` is not the canonical card surface until a new route-to-market). Games shelf + Clerk auth + Strategy League game-plan persistence shipped in April 2026.

Fourth & Two is the bet that intelligence is more readable when it has a sensibility, but the deeper bet is structural: cross-portfolio framework reuse. CAMS was built for people analytics; it generalizes to football roles and matchups because the underlying capability-alignment-motivation-support model isn't HR-specific — it's about what produces realized performance given the conditions. PRISM is the analytics-grade decision-support layer the field is missing. The Insight Card system is the consumption-shape that makes the analytics legible without flattening them into projections. Strategy League / Football IQ is the longer bet on whether the simulation-engine adjacency lands as a distinct game audience or stays as a high-engagement layer on top of fantasy. The platform exists because the middle — analytics with a point of view, a coherent UI surface, and an unusual cross-portfolio framework lineage — was empty.

Architecture

Command Center — GM workflow on a provider-agnostic adapter contract.

The Command Center at `apps/web` carries the GM surfaces: lineup, waivers, trades, draft mode, rankings. They are written against a formal adapter contract — league, rosters, transactions, scoring, matchups, projections — rather than against any specific provider's API. MFL is the first integration; provider slots stay open by design. Swap the back end, the GM workflow keeps working.

Gridiron Analytics API — Python/FastAPI service with PRISM and CAMS adapted from people analytics.

The analytics service runs Python and FastAPI with migrations through 0023 (the LLM-enrichment tables). PRISM is the analytics-grade ranking and decision-support layer — not a generic projection engine. CAMS is the cross-portfolio framework reuse story: the same Capability / Alignment / Motivation / Support model that drives Performix's diagnostic on people, adapted to football roles, schemes, usage signals, and offensive-line support. The framework generalizes because what it captures isn't HR-specific — it's about what produces realized performance given the conditions.

Insight Card system — composable, browse-able, in-context.

Three card types — PRISM trend, CAMS alignment, market signal — compose into the legibility surface. Browse them at /insights as the library; embed them in-context across Command Center surfaces and Strategy League screens where the decision is. Meta-tagging carries typed metadata per card (player, week, decision-type, confidence band) and context filtering queries those tags to decide when each card renders. Cards are first-class products with their own vision doc and testing plan — not chart embellishments.

Strategy League / Football IQ — coaching-strategy game with simulation engine on the fantasy-league substrate.

Strategy League / Football IQ shipped in April 2026 with the Games shelf, Clerk auth, and game-plan persistence. A simulation engine takes a game plan and runs Monte Carlo against opposing-strategy priors, respecting fantasy-league context as input. The unusual adjacency is the structural insight: the analytics audience and the strategy-game audience are different shapes, and the platform ties them together rather than collapsing one into the other. Whether the simulation-engine adjacency lands as a distinct game audience or stays as a high-engagement layer on top of fantasy is the longer bet.

Surfaces
Magazine landing — newsroom front and editorial entry point

Magazine landing — newsroom front and editorial entry point