I Vibe-Coded a Multiplayer Chess App



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!



I’m back!

Back to Building

Time to revive the old blog dealy.

This used to be a place where I posted interesting things I found online, funny videos, weird sites, random corners of the internet. It was fun.

But it is time to reboot it.

This is now a place for things I make, test, break, and occasionally finish.

I’ve been getting back into web stuff, building little projects, and turning a few ideas into real things. Some of them end up working. Some of them don’t. Either way, they’ll show up here.

If something turns into something I actually use or wear, it might end up in the shop. That’s already started.

Some of this will be thoughtful. Some of it will be a bit loose. Some of it might only make sense if your brain is wired a certain way.

If you’ve got an idea or something I should build, send it through. I might actually do it.

Anyway, the old domain is awake again.

Let’s make some stuff.