Piggy Picks

Our friend group's had an NFL picks pool for over a decade. Now it's a full app with live scores, because I can do that.

RoleDesigner + Builder
ToolsClaude Code, Codex CLI
Year2025
Impact6 friends, every Sunday
Context

A decade of spreadsheets for 6 friends

Every year we’d use a Windows-95-esque spreadsheet, then the functional-but-annoying Yahoo Fantasy app.

The Hard Part

Tiebreaker logic that handles every edge case

Claude Code kept refactoring it into something that technically worked but handled edge cases wrong.

Breakthrough

Two AI agents, same codebase, different problems

Brought in Codex as reviewer while Claude moved on to other features. Multi-agent workflows stopped being theoretical.

What Shipped

Live scores, standings, picks. Every Sunday.

Real-time ESPN scores, betting lines, season-long stats, automated winner tracking. The whole nine.

Origin

My friends and I have had an NFL picks pool for over a decade. Every year we'd use a very Windows-95-esque spreadsheet then eventually the (functional but annoying) Yahoo Fantasy app. In 2025, I built the app we'd always wished for.

The Build

Real-time scores, betting lines, and a full season tracker

Real-time ESPN scores, betting lines, season-long stats, automated winner tracking. The whole nine. Full-stack with Next.js, Supabase, and the ESPN API pulling live game data. Six of us use it every Sunday during the season and it's become part of the tradition now.

Multi-Agent

The tiebreaker almost killed the project

Claude Code kept refactoring the tiebreaker into something that technically worked but handled edge cases wrong. So I brought in Codex as the reviewer agent and had it sort out the tiebreaker while Claude moved on to other features. Two AI agents, same codebase, different problems. That was the first time I realized multi-agent workflows weren't just theoretical. They were practical.

Diagram or side-by-side terminal screenshot showing the two-agent workflow — Claude Code on features while Codex reviews tiebreaker logic

Optional
Reflection

I'd never used a database or an API before, so there were a lot of hours in this one. If I built it again, I'd fight the urge to solve every edge case at once. The tiebreaker nearly killed the project because I didn't know when to stop refining and start shipping. But in the end, we have our own app that everyone loves, because I can just do that now.