Industry
Games / Esports
Client
Personal product
Role
Product Designer and Product Owner

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.

  • Product Design
  • Game Design
  • UX Design
  • AI Workflow
  • SEO
Back to Projects ➔
Rocket Draft home screen in a browser, with the Classic Draft, Quick Draft and Daily Challenge modes

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.

Code editor open on the project changelog, with the list of per-area documents beside it
A notepad holding an entire cycle of fixes gathered and prioritized before execution
Per-area documents and the changelog, and an entire cycle of fixes prioritized before execution

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.

First Rocket Draft prototype, with the draft mechanic working and the interface still generic
The first prototype: the mechanic standing, the experience still to be built

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.

Shared review spreadsheet with season, region, team, player and suggested rating on each row
Excerpt of the playerCards.json file with the identification, lineup, season and rating fields for each athlete
The JSON data model and the collaborative rating review, player by player

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 game's top bar with the draft, review, tournament and results stages plus the back and reset buttons
Progress breadcrumb, a route back and an explicit reset on every screen

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.

PageSpeed Insights report scoring 100 on performance, accessibility, best practices and SEO
A score of 100 across all four PageSpeed categories

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.

Rocket Draft pick screen with the drawn roster cards on the left and the team being built on the right
Classic Draft setup screen with the Easy, Normal, Hard and Legacy difficulties and the region selector, including SAM
An open athlete card showing the offense, defense, mechanics, consistency, experience and clutch attributes
RLCS-style simulated tournament screen, with the match score, the Swiss-stage path and the playoff bracket
Rocket Draft challenges screen, with historical puzzles grouped by rarity and XP rewards
The finished game: draft, setup, athlete card, simulated tournament and challenges

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.