My sibling and I have been playing chess in discord but the activity we were using (Chess in the park) kept on freezing during games and was ruining our games.
I thought “I wonder if I can make a better one?”
Instead of watching 6 hours of tutorials… I just vibe coded it using Emergent.
The Goal
Nothing crazy:
- Real-time multiplayer chess
- Chat between players
- Runs in a browser
That’s it. No accounts. No rankings. No feature creep.
Just something that works.
The Process
I told ChatGPT my goals and asked it for a prompt to feed into Emergent.
I copied and pasted it into Emergent.sh
It built:
- React frontend
- Node.js backend
- Socket.IO for real-time moves + chat
- chess.js to handle game logic
One prompt and two answered questions later and bam!
The Result
It actually worked.
Two browser tabs → same room → pieces moving in real time → chat working.
There’s something weirdly satisfying about dragging a chess piece and knowing you didn’t spend days wiring it all together.
Then I started getting ambitious
I pushed the code from Emergent to GitHub, which was honestly one of the hardest parts because I’d never done it before. I finally installed the project in docker on my new Hostinger VPS . Hostinger made this fairly simple, especially with help from thier Ai, Kodee. That thing is super helpful!
I registered the app in Discord as an activity and had Emergent rewrite the code for discord implementation. I invited the chess app to my Discord server.
I removed the chat part as we use video chat overlay with discord activities anyway. That allowed me to make the chessboard larger and more in the centre of the screen.
The web version worked perfectly. My sibling and I played a game to completion and it worked flawlessly.
Amazing!
Then I Broke It
Naturally.
I messed up the SSL certificates, and the whole thing stopped working properly.
Classic.
Right now I’m literally waiting for it to reset itself so the app comes back online.
Which is part of the process:
- Build fast
- Break things
- Fix them (eventually)
What I Learned
A few things stood out:
1. Vibe coding is kind of expensive
The initial program was fine and pretty exciting to see built. But trying to get it to work with discord really burnt through the tokens (there was a lot of errors to fix). I spent way too much money on the project, but I learnt a lot.
2. You don’t need to know everything upfront
Half the time I had no idea what the code was doing until after it worked and was subsequently explained to me. A few times I picked up something the Ai did not notice. That felt pretty good. Make sure you are learning along the way and not doing everything blind. The less tokens you have to use the better.
3. Small apps are dangerous (in a good way)
Once you build one, you realise you can build ten.
Where This Is Going
This probably won’t be my last “vibe-coded” app.
If anything, this feels like the start of a loop:
- Build something small
- Make it useful or fun
- Ship it
- Repeat
If You’re Curious
This whole thing came from messing around with Emergent.sh.
If you’ve ever thought about building something but got stuck in your own head… try it.
You might surprise yourself.
The SSL certificate problem is fixed and the chess app is now working!
