I built a party game because a website didn’t work in the UK
Sometimes the best projects come from the dumbest reasons. This is one of those stories.
The Setup
It was my friend’s birthday. We did the whole thing properly. Escape room first (we escaped, barely, with like 5:21 minutes left and a suspicious amount of hints). Then we hit up a board game cafe because apparently we’re that kind of people now.
Everything was great. Good vibes. Good games. Good cake. You know how it is.
We get back home and it’s still relatively early. Nobody wants to call it a night yet but we’ve exhausted the “going outside” energy. I suggested we play this drawing game I’d played years ago. Fake Artist Goes to New York. Simple concept: everyone draws together, but one person doesn’t know what they’re drawing. Social deduction meets Pictionary. Absolute chaos with the right group.
The Problem
So I google it. Found an online version. Clicked the link. And…
Nothing.
Doesn’t load. Some weird domain error. Turns out the website just doesn’t work in the UK for some reason. I don’t know why. Regional licensing? Server issues? The developer just really hates British people? No clue.
We try a VPN. It works. We play a few rounds. It’s fun. But the whole time I’m thinking “this is so stupid, why do I need a VPN to play a party game with my friends who are literally sitting next to me?”
The Decision
Here’s the thing about being a developer. Sometimes you see a problem and your brain immediately goes “I could build that.” Most of the time you ignore it because you’re a normal person with things to do. But this time? I don’t know. Maybe it was the birthday energy. Maybe it was spite towards whatever was blocking that website. Maybe I just wanted a project.
The game is genuinely simple:
- Show everyone a word except one person
- Everyone draws one line at a time
- Figure out who doesn’t know the word
- Vote them out
That’s it. That’s the whole game. Real-time sync, a canvas, some state management. I’ve built harder things for worse reasons.
Building It
I went with Next.js because I like Next.js. Supabase for the backend because I needed real-time updates and Supabase basically gives you that for free. Tailwind for styling because life’s too short to write CSS from scratch.
The trickiest part was the drawing canvas. Making it work smoothly on mobile was annoying. Touch events are different from mouse events and I learned that the hard way after wondering why my canvas worked perfectly on desktop but turned into modern art on phones.
Real-time sync was actually pretty painless. Supabase’s realtime subscriptions just work. You subscribe to a table, changes come through, you update the UI. Magic.
The game logic itself took maybe an afternoon. Assign a fake artist randomly, track turns, handle voting, determine winners. Standard stuff.
The Result
Now whenever someone wants to play Fake Artist, we just… play it. No VPN. No weird workarounds. Just a link and a room code.
Is it better than the original website? Yes. Does it work in the UK? Yes. And honestly that’s all I wanted.
The whole thing took maybe around 2 hours of actual coding. Most of that was me getting distracted and adding features nobody asked for like the ability to rejoin if you accidentally close the tab. You know, important stuff.
What I Learned
- Spite is a valid motivation for building things
- Touch events on canvas are annoying
- Supabase is genuinely great for multiplayer stuff
- Sometimes the best way to solve a problem is to make it someone else’s problem (in this case, my own server’s problem)
Play It
If you want to try it out, it’s live here. Grab some friends, create a room, share the code. Try to figure out who’s faking it. Also Happy Birthday to you Yadhu, if your’e reading this! 🎉