Language Posts, mostly

I Vibe Coded a Video Game Language Database in a Couple Days

I’m learning Spanish and wanted to play video games in Spanish as a way to augment my learning, but it turns out there’s no good way to actually find games that support specific languages. Steam has the language info buried on each game page but you can’t search using language as a filter. Same with Nintendo and PlayStation and Xbox – so your workflow becomes hearing about a game, going to check if it has X language, getting disappointed, and repeating until you find something. This is backwards – I just built a database that let you filter by language instead.

The Stack

I built it in PHP, SQLite, and Nginx. I don’t know anything about modern frontend frameworks and at this point I’m too lazy to learn. The AI will learn it faster than I will, anyway. I just wanted something that works and will keep working forever without me having to touch it. No dependencies to update, no build processes, just code on a server.

The whole thing runs on a €3.49/month Hetzner VPS, which is overkill for what it’s actually doing, but that literally was the cheapest option available. For fun, I used to browse LowEndBox to find sketchy $7/year VPS deals from random providers that might disappear overnight – this is the grown-up version of that.

Vibe Coding the Whole Thing

Claude Code did most of the work. I just described what I wanted for the Steam scraper, CC built it, then I pointed at the code and said “do the same thing, but for the Nintendo store.” Then PSN, then Xbox. Four storefronts worth of scraping logic all templated off the first one – it would have taken me forever to set this up – hours of messing about, trying to normalize the data and getting it in the DB, then probably just running out of steam halfway through. instead it was done in an afternoon. (Having said that, the actual scraping took much longer than that – I had CC implement a delay between each scrape to not just blast through the storefronts and hit bandwidth limits.)

The Dumb Things

At some point Claude Code decided to hotlink every single cover image directly from the storefronts’ CDNs instead of downloading them locally – 20,000+ images all pointing at Steam and Nintendo’s servers. Didn’t even occur to me to check until I was about to deploy and noticed the image paths were all external URLs, lol.

The fix was literally just telling Claude to not do that and download the images locally instead, which only took a few minutes to implement. Again, what made it take a while was adding in logic to pause after each image download so it wouldn’t just download these files en masse. That’s the whole vibe coding loop – build fast, find the dumb thing it did, tell it to fix the dumb thing, repeat until shipped.

The other problem is that the data itself is kind of garbage. The scraper works fine, but Steam has so much shovelware that the database is polluted with asset flips and hentai puzzle games and games nobody really plays. You search for games in Spanish and half the results are stuff like “Real Car Parking Simulator” with 1 language supported.

Actually Shipping

I kept telling myself I’d filter out the shovelware before launching – maybe only keep games that are also on consoles since those have actual quality control. This was just procrastination. I had it working locally for like three weeks. One night, I was talking to Claude and it basically called me out – “you’re finding excuses, just ship it” – so I did, shovelware and all.

You can check out the database at http://77.42.68.176/ Yeah, I don’t have a URL set up. No SSL either. The database has “Real Car Parking Simulator” sitting next to actual games, whatever. It works and someone can use it tonight, which is more than I can say for most of my side projects that rot on my computer forever.

The Meta Bit

This post was also vibe coded – I gave Claude the bullet points at midnight after deploying and it wrote this draft in what it thinks is my voice based on our conversation history. Turtles all the way down, lol.

Postscript

This section was written by me instead of having an AI model vomit up a close approximation of my voice. I actually forgot to address the reason why I wanted.to write this up in the first place. The rate change at which AI models are improving in the coding field is so fast, it feels like the ground is shifting out from under me constantly. It’s insane to imagine that DeepSeek’s R-1 model was released in the beginning of 2025, and by December 2025, we’ve had models like ChatGPT 5.2 Pro, Claude Opus 4.5, Gemini Pro 3, DeepSeek V3.2 Speciale, GLM-4.7, Kimi K2, Minimax 2.1, all drop in quick succession. Plus a host of other great models that I haven’t tried because they don’t have a cheap vendor API I can subscribe to. (Except for Qwen, which, for some reason suspended my Alibaba cloud account – I’ve been too lazy to contact them to get that fixed, so I haven’t been able to use their models.) All of these models outcompete R-1 by an clear margine when it comes to agent orchestration and coding. It doesn’t feel like it, because of how quickly time passes in the AI world, but the rate change in model quality in my opinion from the start of the year to now is as drastic as the jump from ChatGPT 3.5 to ChatGPT 4.

These models and their workflows are at a point now where one developer who is an expert at orchestrating these agents can easily outcompete a team of developers doing things the old fashioned way. We’re getting to a point in quality where people can just generate bespoke software at a whim. That is absolutely wild to think about, and I don’t think most people have digested the ramifications of that new reality. Now, actual maintenance is another story, but it’s still true that working with these AI agents can also help you get up to speed with an unfamiliar codebase waaaayyyy faster than the Pre-AI era. Things like documentation and tribal knowledge used to be essential to getting up to speed. Now, you can have the AI models analyze your codebase and personalize the knowledge gaps you have to explain how the code works. All code has essentially become self documenting with AI tools now. At this point, any developer who hasn’t integrated AI into their workflows is risking their job security. There’s an old William Gibson quote – “The future is already here — it’s just not very evenly distributed.” That uneven distribution will continue to widen exponentially in 2026. I honestly don’t know if this is going to be a good or bad thing. But I’ll say this much – we’re living in interesting times.

One Reply to “I Vibe Coded a Video Game Language Database in a Couple Days”

  1. […] I Vibe Coded a Video Game Language Database in a Couple Days […]

Leave a Reply

Your email address will not be published. Required fields are marked *