How Bokdle started
How the idea started
A few friends and I have a WhatsApp group where we play some of these daily games. One of them is krillion.io, a great game for anyone who has seen the TV show Pointless: it's a similar idea, where the more obscure your answer, the higher you score. That, coupled with a friend group who love discussing anything sports trivia related, had me looking around for some relevant games.
There are tons of games in a similar style coming out of the US, but they're based mainly on the NBA, NFL, NHL and so on. So there weren't really any well-known options for the sports we know and love in South Africa.
Why 'just' the Boks
I started thinking about all the sports and racked my brain for common themes and features, before deciding it was probably best to keep the dataset as small and manageable as possible. So I decided on 'just' the Boks.
From there I started building the game and deciding on the rules and categories. One of the early mistakes was probably deciding that one of the important tiles was the school the player went to (you know how Saffas love their school). It lasted six days before the Club tile replaced it.
Bokdle gets a name and a home
Then the daunting task of launching my first web app became a reality. I started brainstorming names, and eventually found that the domain bokdle.com was available.
I've always been a bit of a tinkerer, and I've had a Raspberry Pi 4 at home running a few utilities, like a budgeting app and Pi-hole. It had tons of capacity left over. I had also recently bought a static IP address, to host my own VPN for an overseas trip where internet traffic was watched. That gave me the idea, like Bilbo: "well, why shouldn't I just host my own website?" So, a few hours into a Friday afternoon after work, I deployed the website to my Pi.
Linking up all the nuts and bolts was done with Cloudflare:
- The app: Bokdle ran on the Pi as a small Node.js server, started automatically by the operating system and restarted if it ever crashed.
- Cloudflare Tunnel: instead of opening a port on my home router, a small Cloudflare program on the Pi made an outgoing connection to Cloudflare, and visitors to bokdle.com reached the Pi through it. My home address stayed hidden, and nothing on my network was open to the internet.
- Cloudflare in front: it also handled the domain, the HTTPS certificate and caching, so the Pi only had to answer what Cloudflare couldn't.
From the Pi to the cloud
After a few people started playing, I became immensely concerned about the Pi and my lack of redundancy: one power cut or a dodgy SD card and the game would be down for everyone. So the next morning I moved it to the cloud. Bokdle now runs on Fly.io, on two servers in Johannesburg, close to most of our players, so if one has a problem the other keeps the game going. The Pi went back to its day job.
From there it took off after a friend shared it on X, and I've been trying to improve it every day since.