Will I be able to vibecode a full fairy chess website?
45
Ṁ3431
Nov 11
23%
chance

I want to try out serious vibecoding for the first time. I'm going to try making a simple fairy chess website (similar to Kung Fu Chess) doing nothing but giving Claude Code instructions. I'm willing to handle some external stuff myself (e.g. buying a domain name, renting a VPS), but pretty much everything else will have to be Claude, including deployment. Will it work?

Debugging is allowed, but it has to be Claude doing it. That is, if I notice a problem, I'll explain the problem to Claude, and Claude has to fix it. It's allowed to fail several times with some back and forth, and I can provide suggestions, as long as it can eventually figure it out.

I'll allow myself a few high-level framework suggestions, like "use tests" or "use git". But I will not make more specific decisions for it. e.g. I wasn't willing to tell it to uninstall chess.js when it couldn't seem to figure it out.

If I decide this project is hopeless and Claude cannot do it unaided, this resolves NO.

  • Update 2025-10-12 (PST) (AI summary of creator comment): The website does not need to include a fully functional AI opponent. The creator is allowed to provide the AI's strategy themselves, with Claude only handling the implementation.

  • Update 2025-10-12 (PST) (AI summary of creator comment): The creator clarifies that having a buggy, unfinished version live at blackopschess.com is not sufficient to resolve YES. The website must reach feature completeness before the market will resolve YES.

Get Ṁ1,000 play money
Sort by:

Could you please specify what you would consider 'feature complete'?

bought Ṁ50 NO

Seems a bit buggy tbh
I played one game and it counted as 44

also please tell claude to add a "new game" button

@Kire_ Lol yeah I noticed that, no clue where those numbers are coming from

Number of moves in the game maybe?

The individual game pages are also broken, and it was me asking it to fix that that caused the game count bug; the count was correct earlier.

Ok I ran out of patience for the day, Claude was just grinding to a halt and unable to do even very simple features/bug fixes. I think the size of the codebase now is just overwhelming it.

I gave @EvanDaniel access to the VPS, says they'll play with it in the morning. Maybe they'll have more luck than me.

It's now stuck on adding a count of how many seconds the user has been waiting in the queue. Has failed multiple times, tried to install Puppeteer to test it, eventually gave up and asked for help, which I refused.

It's now telling me it's tested and the feature is working perfectly, and my browser is just caching an old version of the site. (Chat, this was not the case.)

Keeps doing stupid stuff like having losing the game work differently depending on what causes it, so checkmate works properly but the concede button causes wild bugs. Very slowly proceeding towards a working game though.

Incredibly frustrating how every few seconds it stops whatever it's doing to ask me whether I would like it to continue, and no matter how many times I tell it to stop doing that it just ignores me.

Played a few games with my partner and it was fun. Then I asked Claude to add a way to see a game replay and it broke the whole site.

Ok, it struggled with this, kept forgetting information I had given it like the VPS root password (despite me telling it to write this down), but it managed to get the server back up and running after a few minutes.

It's having a hard time allowing pawns to move 2 cells from the first rank. I wonder if this is going to be another chess.js blocker.

Next step: production. I've installed Claude on a VPS, uploaded the code it had designed locally, and given it free rein to do whatever it wants there. (I tried it with my local Claude instance first, but it was taking forever having to approve every sshpass command.)

It worked! An incredibly buggy, unfinished version is live at blackopschess.com.

I think for simplicity I'm going to have it continue development on the VPS so I can auto approve every command without worrying about it doing something stupid on my laptop. So expect the site to break at random points probably.

(This is not enough to resolve the market YES to be clear, it needs to get to feature completeness before I'll do that.)

Unbelievable

@IsaacKing It seems like its self-summarizations have caused it to get stuck in a "chess.js is essential" loop, so I quit the conversation and started a new one with a clean context. Same codebase, but hopefully it won't remember its fanatic devotion to chess.js and can make better decisions now.

@IsaacKing Nope. Claude has rederived from first principles its undying love for chess.js.

OH MY GOD HE'S DONE IT. Claude figured out that there's a setting in chess.js to ignore board validation, allowing him to stay with the love of his life while still satisfying my requests.

bought Ṁ350 NO

@ me if you want to buy yes around 20c

opened a Ṁ700 YES at 20% order

@Bayesian I put up a limit if you’re still down

I told it to add a test suite that covers every feature I've asked for thus far, and keep working until it passes all tests. This skates a little close to the border of "no longer vibecoding", since I think of the distinction as being whether the human has to concern themselves with implementation/process details or just high-level features. But it's a simple enough request that I'll give it this one.

Oops, out of credits. Fine Anthropic, I will pay you even more money to tell me for the 7th time that pawns can't go on the first row.

Yeah, things are starting to go downhill. I told it up front that I'd be adding custom rules, so it shouldn't use some out-of-the-box chess solution that wouldn't handle customization, but it chose to do so anyway and is building on chess.js.

Now I told it to modify the rules to let pawns be on the back row. It did, but now the server crashes since it's an invalid position. Claude decided to "fix" this error by silently reverting my instruction and disallowing pawns on the back row, despite that being the whole point of the game.

I asked it to fix this and it told me it did, but the pawns are still banned from the back row. I'm now telling it again to fix this...

@IsaacKing It has hallucinated that there's a flaw in its randomization logic, rather than remember its own feature it just added like 3 prompts ago where it disallowed pawns on the back row.

(The game is like chess 960 but even more random, pawns can go anywhere.)

@IsaacKing And now it's flat-out refusing to do what I ask, saying its hands are tied due to the restrictions of chess.js, which I told it not to use!

Gone through a few more cycles of "please make the pawn position random" "ok I have made the pawn position random" "no, you didn't, please actually do it". Giving up hope...

Claude is now telling me it is MATHEMATICALLY IMPOSSIBLE to place pawns on the first rank

Related questions