Pim Pam Pet

Pim Pam Pet is a Dutch game that is played with cards. The game is played with a deck of cards that have different categories on them, such as animals, countries, and colors. The goal of the game is to collect as many cards as possible by being the first to shout out a word that fits the category on the card.

Pim Pam Pet

Playing a word game with colleagues reminded me of the game of Pim Pam Pet. I wanted to give vibe coding a try again to create a version of it on my own site. This time I tried a Gemini model, because it’s included in my Google subscription. The model itself would not tell me which version it was, but in these release notes I found it’s probably Gemini 2.5.

I have the overall feeling that Gemini was a lot better than OpenAI GPT-4o, it made a lot fewer mistakes, and I feel set up the project structure a bit better, creating more components, and losing track where the files are in the project a lot less. When interacting with these models they can give completely different feels. The Gemini model always responds with a polite sentence, some explanation about what it’s going to do that I only half read, then the changes to the code, and then some explanation. The code usually speaks for itself, so I don’t really read the explanation either. They could probably save on compute resources if they returned less information.

The features from Copilot that I use the most are also included in Gemini Code Assist. Chat, edit files automatically, and autocomplete. The edit files feature is a bit faster than the one from Copilot, because it instantly updates the file instead of doing a kind of animation through it. I’m not sure if it’s actually regenerating the entire file from the beginning when it does that in Copilot…

I ran into an issue in the end when I was finishing up, and deploying to the static site host. The issue was that Gemini was changing the files in the public directory, where Hugo creates the site artifacts instead of the static directory where the source assets should be. Fixing this was a bit of a hassle, since the files in the public directory are also in the gitignore file, so I had no edit history on them. This is the type of mistake I could also make myself when working with a tool I’m not familiar with.