
I vibe-cobed a game where you harvest user data, bribe lawyers and pretend to care about privacy. Basically a Zuckerberg simulator.
Built with React/TypeScript + Capacitor for Android. Used Google Antigravity with Gemini and Claude as agents.
I designed the systems, wrote the prompts, reviewed every implementation plan before the agent started building. That part worked really well.
One thing I learned: treat yourself as the senior developer. The agent writes code but you own the architecture. As the game grew — more systems, more state, more panels — I started being explicit about what the agent was NOT allowed to touch:
"Do not modify the audio system."
"Do not refactor anything outside this component." etc.
Without those boundaries Gemini Flash would occasionally decide to helpfully reorganize something that was already working. It always ended badly.
The hardest part was Android audio. Spent a week on a bug where music wouldn't start on launch. Tried audio sprites, double buffering, singleton patterns, priming tricks — nothing worked.
Turns out Android WebView simply does not allow audio to play until the user has touched the screen. That's it. That's the rule. A week of debugging a browser policy.
Sometimes the bug is not in your code.
The agent just needs to know what not to touch.
https://play.google.com/store/apps/details?id=com.metaman.dopaminedan
