Rocket Draft
Concept, design and launch of a draft game about the competitive history of Rocket League, built from scratch with an AI-assisted development workflow and a database curated together with the community. 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.
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. The interface had little care behind it and the usability was confusing. Players could not tell where they were in the draft or what each pick was worth.
Two constraints came with the project. First, 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.
Second, the project was a solo build. I carried game design, product management, interface design and the direction of an AI-assisted development workflow. With one person on it, every scope item had to justify the space it took.
The diagnosis
I went through the competitors to find where I could fit in. They all solved the mechanic and none of them treated the experience as part of the product. No tutorial, no way back, no confirmation before discarding a pick and no real responsiveness on mobile, which is where most of the community traffic comes from.
That set where I needed to be better: on the clarity of the experience and on the depth of the historical database. Those two criteria drove the scope of the project from start to finish.
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 opened the project and served as the reference in every cycle after it.
Three routines carried the work from there.
The first was working in closed cycles. I gathered everything that needed fixing or adding, prioritized the list and sent it into execution in one go, instead of asking for one change at a time. Small fixes I made directly in the code.
The second was keeping one document per product area, balancing, mechanics, interface and data, alongside a changelog. Long sessions lose context and start breaking what already worked. With the documents, any new session picked up what it needed from one file.
The third was owning the design direction from start to finish. The first prototypes delivered the mechanic and not the experience. 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 and preventing user error 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 was the serious one. In a community that watched those championships live, a badly calibrated rating breaks trust in the product faster than any bug. 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, which kept the game balanced. An unbalanced database breaks the entire draft mechanic.
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 then enters a simulated tournament against other real teams from the database, and the outcome depends on the attributes of the players picked.
The pick is the center of the game, so it had to be well informed. Each athlete carries separate attributes instead of a single rating — offense, defense, mechanics, consistency, experience and clutch —, which makes a lower-overall player the right call in certain situations. To support that decision, every draft screen shows which round the player is in, how many are left and who has already been picked.
The draw uses deterministic random generation. In the Daily Challenge, everyone gets exactly the same set of teams, which lets players compare results and argue over the same picks with whoever else played that day. That is what made the game circulate inside the community.
The SAM Only mode came out of a gap in the database. The main criterion covered teams that reached finals and world championships, which left out South American teams with strong regional history. 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 in the main database.
Around the mechanic sat the usability work. 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 together 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.
- over 1,000 visits in the first two days;
- over 10,000 runs played in the same period;
- 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.
The game is live at rocketdraft.app and still gets updates. A career mode expansion is in development.
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.