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.
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.
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.
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.
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.
@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.
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.
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!