cd /news/ai-tools/i-let-free-web-gemini-code-my-terrar… · home › topics › ai-tools › article
[ARTICLE · art-140942] src=dev.to ↗ pub= topic=ai-tools verified=true sentiment=· neutral

I Let Free Web Gemini Code My Terrarium, and Now the Worms are Having an Identity Crisis

A developer tested whether free web-based Gemini models could add new features to an existing Pygame terrarium simulation, using a custom VS Code extension called ReptClip to bundle context and apply AI-generated diffs. After context-dumping failures and hallucinated patches, Gemini Flash successfully applied a working feature on the second attempt, but subsequent attempts with Gemini Pro and Gemini Extended Thinking to make the worms more biologically accurate produced non-functional or invisible results.

by read4 min views1 publishedSep 28, 2026

If you want to see Gemini building the most "biologically accurate" worms for my Terrarium simulation, please read till the end.

I built a Pygame terrarium simulation a while back (please wait, the video may take a second to load): I decided to check whether free web-based LLMs can add entirely new features to this Python codebase without blowing everything up.

No expensive subscriptions. Just a free browser chatbot, my VS Code extension, and a whole lot of trial and error.

Let's open up the project in VS Code:

To feed my codebase into the AI, I used ReptClip for VS Code, a VS Code extension I built to bundle context quickly & apply the diffs generated by the chatbot. I started out optimistic (and lazy), adding README.md, requirements.txt, and literally every single Python file into the context:

I opened Google AI Studio, and pasted the entire codebase directly in:

64,000 tokens right off the bat! Let's start with a simple request:

And...

Ok. So they want my money. But I have plenty of other things to do with it.

Dumping all Python files was a mistake. Let's try again. We'll feed the AI only the project directory structure, the README, and requirements.txt first, and let the AI tell us which specific files it actually needs to read.

I hit send.

Screw AI Studio. I moved over to gemini.google.com. I tried pasting all the Python files again:

What? The browser chat UI silently truncated the context I pasted in, without showing a single warning!

It can't stop me! I know the exact workaround:

My extension can write output to files too. Good thing I made that into a feature. Does it work if I upload it?

Yep! Let's type the prompt and hit send!

Now we're talking! It actually gave me the diffs according to the output instructions added by my extension into the context:

A 108 lines diff, which was surprising. Now, I can copy the diffs and click Apply Diffs in my extension. It will automatically read them from the clipboard and apply the changes. Let's try that:

Fail. Because I dumped every file at once, the AI hallucinated too much and "Apply Diffs" failed. I tried once more:

And again:

Even though ReptClip supports fuzzy matching in SEARCH blocks, the AI hallucinated too much so the extension wasn't able to find a match.

Time to get serious about context management. The new plan:

requirements.txt It gave a list of the files it want to see:

Since we already added project structure and diff format, let's uncheck them, and add the files Gemini asked:

Luckily, it didn't get truncated!

Gemini generated the new diff (165 lines): I ran ReptClip's Apply Diffs again...

The diffs applied cleanly with only one fuzzy match!

Moment of truth: let's launch the terrarium:

Wait...

It ACTUALLY worked??! I wasn't expecting that on the second try, especially from a small flash model!

Time to make it harder. The new feature:

I passed the requested files via ReptClip. Flash generated a suspiciously tiny diff that literally fit into a single screenshot:

I applied it anyway:

And ran the simulation:

Well... it did something. The worms looked a bit different, but it was definitly far from what I asked.

Time to unleash Gemini Pro.

Gemini Pro immediately started dropping massive biology jargon in its response:

It produced a 265-line diff modifying 2 files. I applied it and launched the simulation:

Nothing. I couldn't even identify the worms.

I thought maybe they were growing or waiting for nighttime. I waited in front of the simulation at 8x speed for days*:

Still empty!

Well... Let's try with Gemini Extended Thinking:

The reasoning model thought through the logic and proudly claimed it found the exact bug:

I applied its recommended patch:

STILL NO WORMS.

Let me handle this alone without taking a screenshot every 5 seconds. I'll come back soon. 🏃 ...

So, according to Gemini, this was the reason:

Anyway, I gave it ant.py so it could refer to it and generate proper diffs. This time, I was able to see something!

Ready to see the magnificent peristalsis, anchoring, and bunching up that Gemini 3.1 Pro was bragging about?

I don't want you to see it yet. Please scroll down:

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

⬇️

⬇️

⬇️

⬇️

⬇️

🔻

Yep! THAT is what actual peristalsis looks like! 🤣

── more in #ai-tools 4 stories · sorted by recency
── more on @google 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-let-free-web-gemin…] indexed:0 read:4min 2026-09-28 · —