
The Picks Project
A full-stack NFL pick'em platform I built solo to learn the modern JavaScript stack — 150+ users, automated ESPN data pipeline, and custom group scoring.
About a year into my role at Under Armour, I realized I was working with a stack I didn't have deep hands-on experience with — Next.js, Vercel, Supabase, the modern full-stack JavaScript ecosystem. I was learning on the job, but I wanted a space where I could experiment without the restrictions and constraints of a large enterprise codebase.
I was already running fantasy football leagues with friends and coworkers, and I thought: what if I built an optional weekly pick'em alongside it? Something people could opt into, low stakes, but a real product with real users. It would give me a reason to go deep on the tools I was using at work, but on my own terms.
That's how The Picks Project started. It's not my first public-facing project — I shipped a fantasy football drafting application years earlier — but it's the first one I delivered entirely by myself, start to finish. No contractors, no collaborators. Just me, from architecture to deployment to user support.
What It Does
The platform handles the full lifecycle of an NFL pick'em pool: automated schedule ingestion every week via ESPN API scraping, user authentication and registration, group and pool creation with configurable scoring rules, weekly pick submission with deadline enforcement, real-time leaderboards, and historical season data with browsable views.
Cron jobs on Vercel handle the automated data pipeline — scraping, normalizing, and persisting to Supabase without me touching anything week to week during the season. Slack notifications are wired into the pipeline for monitoring.
The Stack
Next.js, Tailwind CSS, Supabase (auth + database), Vercel (hosting + cron jobs), monorepo architecture. CI/CD pipeline using GitHub Actions with auto-generated changelogs.
Growth
The platform launched in 2023 and has grown roughly 100% year-over-year, reaching 150+ registered users by 2025 with 30-40 active participants each week during the NFL season. Growth has been entirely word-of-mouth — starting from coworker leagues and expanding from there. Multiple independent groups now run simultaneously, each with their own custom settings and scoring configurations.
Technical Highlights
- Automated data pipeline that scrapes ESPN's API via scheduled cron jobs, normalizes the data, and persists it to Supabase — running hands-free throughout the season
- Flexible group/pool system supporting custom scoring logic, tiebreakers, and independent leaderboards per pool
- Monorepo architecture on Vercel, balancing shared code with independent deployability
- SEO optimization and performance tuning as the user base grew
- Observability via Slack alerts for cron monitoring and automation health
- GitHub Actions CI/CD pipeline with auto-generated changelogs
What I Learned
This was the first project I delivered entirely by myself — no team, no contractors, just me owning every layer from database to deployment. Having real users with real expectations pushed me to think about reliability, UX clarity, and iterative improvement in ways that side projects without an audience never do. Three seasons in, I'm still shipping features and growing the user base, which is the kind of feedback loop that makes you a better engineer.