Scary: two projects built by prompting Gemini 3 Pro

A wishlist app with real sharing rules, and a 3D ship game in a library I barely know.

IsoSeas: a fleet of small sailing ships on an isometric blue ocean, with ship stats on the left and a joystick. IsoSeas: 100% prompted, in a library I barely know.
Contents
  1. Project 1: a wishlist app
  2. Project 2: a ship simulator
  3. Where it cracked
  4. Verdict

After the wave of praise for Gemini 3 Pro and the new Google AI Studio, I wanted to see for myself. I gave it two projects: one complex enough to properly test it, and one in territory where I could not rescue it.

Project 1: a wishlist app

Wishlink lets you add wishes, share a list by link, or keep it private for friends. The interesting rule is that friends can lock a gift, other friends can see that it is taken, and the list owner cannot, so the surprise survives. It is available in English and Portuguese.

The WishLink home page in Portuguese, with a gift icon, a start button and three feature cards
The Wishlink home page.

A detailed first prompt produced a working site with minor bugs, and later prompts kept the context of the whole project. Moving it to Vue went without problems. I expected adding Firebase to break it, but all I had to do was set environment variables and adjust the security rules it had mostly generated.

A private WishLink list with four wishes, each with a name, a link and a thumbnail
A private list, with its four wishes.

Project 2: a ship simulator

The ship game has you steering with a joystick, fighting enemy ships, recruiting them into a fleet and upgrading power and size. I barely know Three.js and find 3D modelling hard, so this one was all prompting, right through to deployment. It is best on desktop.

Where it cracked

  • Every wishlist page load fired more than 40 requests.
  • After ten or so rounds of trying to prompt that away, old bugs began to return unless I reminded it about them.
  • The ship game hit the same wall, with fixed bugs reappearing and mechanics being replaced.

So I stepped in, fixed the database issues by hand and shipped a usable version after about two hours. Call the wishlist 80% vibe coded. The game was 100%.

Verdict

These were not demos. They were complete builds with migrations, frameworks and a backend. The limits do show up, but not nearly as early as I expected, and that is the scary part.

Originally shared on LinkedIn.