Behind the Scenes: Building WikiRace Indonesia from Scratch
Have you ever been engrossed in a game and suddenly wondered: "Who actually made this website? And how does it fetch Wikipedia articles directly?"
In this Education and Community article, we will invite you to peek into the development kitchen of WikiRace Indonesia. It all started as a weekend "side project" that has now turned into a brain-brawling arena for thousands of players.
Initial Inspiration: Why Make an Indonesian Version?
The idea emerged about a year ago. Our development team, who are IT students and trivia enthusiasts, often played the international version of The Wiki Game. However, we realized one important thing: playing on the English Wikipedia felt less relatable for some people.
There was almost no WikiRace platform specifically optimized and fully dedicated to the Indonesian Wikipedia (WBI). Yet, the challenges are vastly different! The structure of articles, the depth of topics, and the number of articles in WBI (around 600,000 articles) create a highly unique game dynamic (meta-game) compared to the English version.
Technical Architecture: Building a Fast Racing Engine
Building a real-time game platform that relies on a third-party service (Wikipedia) is not an easy task. If we designed the system incorrectly, our servers could go down in minutes due to overload, or our site could be blocked by Wikipedia.
Here is the secret tech stack behind your smooth gaming experience:
- Modern Framework (Next.js App Router): We use Next.js so the website can load pages incredibly fast (Server-Side Rendering), making the loading time between Wikipedia articles feel instant.
- Fast Database (Turso / SQLite): To store the data of thousands of players, score history, and real-time leaderboards, we needed a super-responsive database without suffocating hosting costs.
- Client-Side Fetching & Wikipedia API: This is the main secret! Instead of our server downloading Wikipedia articles (which would blow up our server if there were 1000 concurrent players), the game instructs the browser on your phone or laptop (the client) to directly fetch data from the official Wikipedia API asynchronously (AJAX).
Dealing with Cheater Challenges
Like any competitive game, there are always players who try to cheat (e.g., using script bots or the "Ctrl+F" function). We continuously develop step validation systems in the backend to detect click intervals that are unreasonable for a normal human, ensuring the leaderboard remains clean and fair.
Thank you to all the players who have supported this experimental project from the beginning. Keep playing, and help us grow the WikiRace Indonesia community even bigger!
Indra Wijaya
The first Indonesian Wikipedia racing platform.