Building Fantasy Football Classic
What it is, how I built it, and what a year of shipping with Cursor taught me about backends, databases, hosting, and live drafts.
App · Fantasy Football Classic
What it is
Fantasy Football Classic is a season-long fantasy football app where every starter’s weekly score comes from a randomly selected real historical NFL game, not a live projection. You still draft, set lineups, run waivers, and play into the playoffs. The social ritual stays intact without bye-week headaches or rooting against your favorite team.
How I built it
I didn’t start as a software engineer. I started with a format I wanted to play, then spent a lot of hours in Cursor turning that idea into something leagues could actually use: accounts, drafts, a shared season calendar, payments for private leagues, and the historical scoring rules that make the whole thing trustworthy.
The hard parts were the moments that break trust when they fail. Draft night has to survive bad phone connections. If someone drops offline mid-draft, they should be able to get back in and keep their pick without the room falling apart. One shared Eastern-time calendar answered “when does this happen?” without every league inventing its own clock. And the scoring had to be legible: managers can accept a surprise if they understand how the game was chosen and trust it was locked before kickoff.
What I learned
This wasn’t a class in fantasy football. It was a year of learning how to build a real app with AI.
I learned how to set up a backend and connect the product to a database. I learned how to find freely available open-source data on the internet and bring it into the app for historical scoring. I learned how to use Cursor’s different modes for different jobs instead of treating every task the same. I learned how hard live drafts are when connections have to stay smooth for a whole room of people on phones. I learned a stack of tools by needing them: Cloudflare Pages for the frontend, Railway for the backend, PostgreSQL for the database, Stripe for payments. I learned how to buy a domain and host a site on it.
I also watched LLMs get better at coding help over that full year. What was painful early on got easier later, and that changed how fast I could move. The biggest lesson was simple: you learn this craft by shipping something real, breaking it with real users, and fixing it with Cursor as your building partner.
Want the full picture of this app?
View Fantasy Football Classic →