chess.rodeo in a year: from the first commit to 20,000 people a month
I made the first commit to chess.rodeo on October 8, 2025. Now, in November 2026, over 20,000 people visit it each month, and it holds 3.5 million imported games and 105,000 analyses. I build it alone. What the service does is on the project page; here I'll tell how it grew and where the people came from.
How it started
I love chess and wanted to get stronger. The services that help you improve didn't suit me: the explanations weren't always clear, the interfaces were clumsy. On Chess.com and Lichess you wait for the game to be calculated, then step through the moves looking for the mistake. What you want is to see the move that decided the game right away. I thought I could do better, for myself and for other players.
The first version did one thing: it imported games by username and analyzed them with Stockfish.
Numbers by month
Visitors were counted by two different systems, and their numbers don't compare. Until July it was Google Analytics, which saw only people who accepted cookies: 1,039 in January, 1,512 in June. Since July it's Umami, which needs no cookies and counts everyone. Only Search Console counted the same way all year, so the chart shows clicks from Google.
Clicks from Google to chess.rodeo by month, from Search Console. Visitors by Umami: 8,462 in July, 10,601 in August, 11,571 in September, 19,170 in October.
The first users
Two months after launch the service reached 1,000 monthly users. I didn't spend anything on ads; there were only a few videos on YouTube and one short.
Then I made a Chrome extension: when a game on Chess.com ends, a button next to it opens the analysis. Why I needed it myself is a separate post. Over the last 30 days 571 visits came from chess.com.
What drove growth: 16 languages
On April 6, 2026 the interface was translated into 16 languages. Impressions in Google went from 8,342 in March to 40,967 in April, clicks from 499 to 1,077. After a small dip in May, clicks grew every month: 4,124 in July, 9,592 in October.
People search for game analysis in their own language. The most frequent queries in October, apart from the service's name:
- "phân tích cờ vua" (Vietnamese);
- "analisador de partidas de xadrez" (Portuguese);
- "przegląd partii szachy za darmo" (Polish);
- "analizador de partidas de ajedrez" (Spanish);
- "analyse partie echec" (French);
- "анализ партии шахматы" (Russian).
Over the last 30 days most visitors came from Russia, Brazil, Poland, Vietnam, the US and France. Google brought 28% of visits, Yandex 10%, other search engines about 4% more. Phones and laptops are almost even.
October: the translations caught up
In October 19,000 people came, up from 11,600 in September. At first I thought new features did it: talking bots and play without signing in came out on October 5–6. But traffic didn't move on those days. The growth started on October 14 and came from search: Google went from about 250 clicks a day to 300, and to 420 by the end of the month.
Almost all of it went to the home pages of the language versions. The Polish one tripled its clicks and moved up in search from position 5.5 to 4.7, the French one from 7.0 to 5.8.
Two days earlier, on October 12, I updated the translations. I had rewritten the Russian and English interface text several times, while the other 14 languages were still translations of the old text, and some strings in them were still in English. One run updated 4,200 strings. I can't prove the link, but I found no other cause. My guess is that search engines started ranking the pages higher once they were entirely in the reader's language.
People also came back a little more often: in October a visitor came 1.67 times a month on average, in September 1.52.
What cost time
- A week on Supabase. I deployed it on my own server and ended up running plain Postgres in containers. Why I didn't drop it sooner is in a separate post.
- The domain on Cloudflare. Some Russian providers block its NS servers, and their customers couldn't open the site. I had to move to Porkbun.
- Drops on the way to the server. With some providers the connection opened but HTTP requests hung. Routing traffic through a proxy fixed it.
Money
The paid Pro plan appeared in March 2026. People pay, but many payments fail: we haven't found a reliable payment provider that suits us yet.
How I run it alone
Since October 2025 the repository has 4,979 commits. Since May 2026 changes go through pull requests: 1,157 merged in half a year, about six a day. I write the code together with Claude Code; the other tools I tried are in an earlier post. How development is set up is in a separate post.
What changed for users I write on the What's new page. Since December 2025 it has 39 entries. The main milestones:
- December 2025: game analysis;
- January 2026: Russian;
- February: playing against Stockfish;
- March: sign-in, payments and unlimited analysis;
- April: 16 languages;
- May: a new design;
- August: opening courses and the coach;
- September: live play through Lichess and bots with character;
- October: bots talk, and you can play without signing in.
What I'd do differently
I probably wouldn't have spread myself across so many features and would have made one thing perfect. Now I'm trying to bring what's already there to that level.
The other mistakes I've already written about on the blog:
- I started doubting Supabase on day two or three and only dropped it after a week, once I set myself a deadline.
- I didn't find the Cloudflare block myself: someone wrote that the link didn't open. From my own computer through a VPN it wasn't visible.
- I only started reviewing my own games more often once I made the extension.