Rocket Draft
Concept, design and launch of a draft game about ten years of competitive Rocket League history. From the game design document to live in two weeks, with a database of more than 1,000 players validated together with the community. More than 10,000 runs in the first two days. The game is live at rocketdraft.app.
The context
I have played Rocket League for over ten years. In that time I competed, traveled to watch a world championship and made a good part of my friendships inside that community. I know how these people talk about the game, what they argue about after each season and where that conversation happens.
Draft games gained popularity over that period and none of them worked with RLCS history. There are ten years of official championships, with hundreds of teams and players catalogued, available to anyone who wanted to use them. That is where the idea for Rocket Draft came from.
The problem
The existing simulators worked from databases limited to the most recent teams. And players entered the draft without knowing which round they were in, how many were left or what each pick was worth.
Two constraints came with the idea.
No structured public database of the competitive scene existed. I requested access to the official Liquipedia API, the largest data source for the game, and never heard back.
The project was a solo build. Game design, product management, interface design and the direction of an AI-assisted development workflow all sat with me. With one person on it, every scope item had to justify the space it took.
The idea
I opened the competitors and played each one of them looking for where I could fit in. They all solved the draft mechanic. None of them had a tutorial, a way back, confirmation before discarding a pick or a screen designed for mobile, which is where most of the community traffic comes from.
That set two criteria: clarity of the experience and depth of the historical database. Every scope decision from there on went through them. Whatever did not hold up one of the two stayed out of the first version, including career mode, the most ambitious idea on the list, which went to the post-launch roadmap.
The process
I started by writing a game design document of more than 1,700 lines, covering mechanics, screens, flows, balancing rules and win conditions. It closed the scope before the first line of code and served as the reference in every cycle after it.
Development ran in Claude Code, with React and Next.js behind the game and deployment on Vercel. From the game design document to launch, it took around two weeks.
Three routines carried the work from there.
Closed cycles. I gathered everything that needed fixing or adding, ordered the list by the two criteria and sent it into execution in one go. Small fixes I made directly in the code. Every cycle went out as a prioritized batch, and that is what held a two-week pace with one person on it.
One document per product area. Balancing, mechanics, interface and data, each in its own file, alongside a changelog. Long sessions lose context and start breaking what already worked. With the documents, any new session picked up the state of the product from one file.
Design direction in every release. The first prototypes delivered the mechanic and stopped there. I started reviewing every screen against usability heuristics and specifying the implementation: where confirmation goes, where the exit goes, where guidance goes, where visual consistency broke. Without that review in every cycle, the interface drifted back to the generic look of AI-generated projects. AI plans and executes competently. Reading friction, preventing user error and judging what ships stayed my responsibility in every release.
The database
With no official API, I built the database myself.
I structured a JSON file with the data model the game needed, split by season and year, and created agents that searched the web for official RLCS championships. Teams, players, coaches, substitutes, region, country and an estimated rating for each athlete. The database closed with over 1,000 players and over 300 lineups, the most complete among the simulators in the niche.
The collection brought two errors. Players who changed handles between seasons showed up duplicated. And the assigned ratings did not match each athlete's real performance.
The second one decided the product. In a community that watched those championships live, a badly calibrated rating breaks trust faster than any bug, and an unbalanced database breaks the entire draft mechanic. Calibrating those ratings called for people who had followed the seasons.
I took the database to several people from the scene to review it with me in a shared spreadsheet. Several days, player by player, cross-checking old broadcasts. The review cleared the duplicates and adjusted the discrepancies between ratings. It also brought the people who would play and talk about the game into the project before launch.
Once the review closed, the database moved to Supabase, serving teams, players and ratings to the game. It stopped being an archive and became the material every game mode is cut from.
The game
A run starts with a draw of teams that played official RLCS tournaments. In each round the player sees one of those rosters and picks an athlete from it, until their own team is complete. That team enters a simulated tournament against other real teams from the database, and the outcome depends on the attributes of the players picked.
Three decisions define how that loop holds up.
The pick had to carry weight. Each athlete has six separate attributes: offense, defense, mechanics, consistency, experience and clutch. A lower-overall player can be the right call depending on what the roster is missing. For the player to be able to decide, every draft screen shows which round they are in, how many are left and who has already been picked. That was exactly the point where the competitors left the player on their own.
Difficulty is a cut of the database. Each level draws from a different set of teams, so raising the difficulty changes who enters the draft. At the top of the scale sits Legacy mode, which draws only from strong teams in RLCS history and unlocks only after a win on hard. It is the most played mode in Rocket Draft to date, and no competitor has an unlockable mode. It only exists because the database is large enough to sustain a cut made purely of elite teams. The depth I built into the data became the mechanic that brings the player back.
Beside it, two modes solve different things. The Daily Challenge uses deterministic random generation: everyone gets exactly the same set of teams that day, results stay comparable and whoever played has something to argue about with everyone else who played. SAM Only fixed an absence in the main database, whose criterion covered teams that reached finals and world championships and left out South American teams with strong regional history. Loosening the criterion would unbalance the draft, so I flagged those teams and built a mode that plays only with them. The Brazilian community is one of the largest in the game, and this mode brought in the people who did not see themselves represented.
The player had to stay standing until the first run ended. The first session opens with a tutorial modal, with a skip button for players who already know the format. Every screen has a back button and an exit route. Restarting a run or abandoning a draft in progress asks for confirmation, with the consequence written into the modal.
The community plays almost entirely on mobile, so I designed every screen to fit whole, with no zoom and no horizontal scroll. The game runs at a 100 PageSpeed score, because in a browser game abandonment happens before the first click. All of it held up by its own design system, reviewed in every cycle.
The result
The launch was backed by known names in the community, including professional players and content creators, a good part of them people who had been through the database review.
- over 1,000 visits in the first two days;
- over 10,000 runs played in the same period;
- Legacy mode is the most played to date, and it only unlocks for players who came back after winning on hard;
- daily organic search traffic, sustained since launch;
- pages indexed ahead of competitors with older player databases;
- unprompted messages from professional players with praise, suggestions and bug reports;
- community volunteers offering to expand the database and build new features.
Both criteria held up. The depth of the database is what puts the game's pages ahead of competitors in search and what makes Legacy mode possible. The clarity of the experience shows in the ratio between visits and use: ten runs per visit in the first two days.
After launch, tracking moved to Google Analytics and Search Console, which guide the SEO adjustments and page optimizations. Career mode, cut from the first version, is in development with community volunteers.
The game is live at rocketdraft.app.
LIKE WHAT YOU SEE?
Let's talk!
Feel free to send me a message — to talk about the cases, swap experiences or just grab a virtual coffee.