Challenge
Tashkent Open is an international chess tournament for the prize of the Tashkent hokim (mayor). It is organised by the city hokimiyat and the Chess Federation of Uzbekistan together with the Sky Chess school. The tournament runs in two stages, an online qualifier on chess.com and a final played over the board, and brings together professionals and amateurs from Uzbekistan and abroad.
An international tournament comes with long participant lists: registration, the online qualifier and the professional groups, with veterans, amateurs, para players, professionals and juniors in three age bands inside. A player needs to find their own name quickly, while the organisers need to see the field by category, country and district. The chess tournament website had to turn these lists into a practical tool.
The 330 million sum prize fund is split between four groups, men and women, professionals and amateurs, and several groups carry separate awards for veterans, young players and para players. That structure is hard to follow in the running text of the regulations, especially on a phone.
Places are decided by points and, in a tie, by additional criteria: the head-to-head result, Buchholz scores, performance rating and the number of wins. These rules, the regulations themselves and a PDF copy had to be at every player's fingertips to reduce disputes at the finish.
The tournament audience speaks Uzbek, Russian and English, and questions to the organisers often need attachments such as screenshots or documents. The site needed three language versions, a feedback form that accepts files and pages that open quickly on a phone even with video on the first screen.
Solution
We built the site as a guide to the tournament. The home page opens with video and the dates and venue of the final, followed by the participant groups, the prize fund and the two stages: an online qualifier on chess.com in 3+2 blitz and a final in 15+10 rapid under the Swiss system. Separate sections cover the tournament, participants, rules, prizes, winners and news.
The participant list is split by stage: registration, the qualifying round and the professionals. Players find themselves by ID or full name, and the list can be filtered by category, country and district and then sorted. The prize fund is laid out in group tabs, winners appear with their titles and prize money, and the regulations open in a built-in viewer or download as a PDF.
Technically it is a single-page application built with React and Vite, with MobX and framer-motion animations. Pages and translations load as the visitor moves around, and the content lives in separate JSON files, so a new season means new data rather than new code. The site runs on Vercel, and form messages reach the organisers through Google Apps Script.
Participant list with filters
Participants are grouped by stage: registration, the qualifying round and the professionals. Search works by ID and full name, filters by category, country and district, and the paginated table shows each player's region, category and registration time.
Prize fund by group
The 330 million sum fund is laid out across tabs for the four groups. Each tab lists the places with their amounts and, where the regulations provide for them, separate awards for veterans, young players and para players, so a player sees at once what is at stake.
Winners and tiebreak rules
The winners of each group are listed with their place, chess title and prize money. Below the table sit the additional criteria that settle equal scores, so the final standings leave no room for questions.
Tournament regulations
The rules section holds the full text of the regulations: who runs the tournament, the format and venue, eligibility and awards. The document opens in a built-in viewer or a new tab and downloads as a PDF, so players can check it even offline.
Feedback with attachments
The form asks for a name, email, phone number and a message of up to 1,200 characters, and accepts up to five JPEG or PNG files of 15 MB each. Fields are validated as the user types, and the message and files go to the organisers through Google Apps Script.
Three languages and fast loading
The Uzbek, Russian and English versions switch from the header, each at its own address for search engines. Pages and translations load in separate chunks, responses are cached in the browser, and the home page video has a poster so the first screen is never blank.
Results
The project's key outcomes in numbers.
- 7Participant categories
Veterans, amateurs, para-chess players, professionals and three junior age groups are filtered in one list.
- 60 FPSAnimation smoothness
Page transitions and interface animations run without stutter on desktop and mobile.
- 3Language versions
Uzbek, Russian and English versions for players from Uzbekistan and other countries.
- 12 daysTime to launch
We prepared every section, the data and all three language versions in twelve days.
Project tech stack
The stack we used to build the solution for the client's task.
- Vercel
- React
- Vite
Ready to become the next case?
Tell us about your task — a manager will assemble the team, calculate the estimate and send a proposal within the first hour after the request. No obligations, no drip campaigns.




