<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Nathan Johnston</title>
    <description>The latest articles on Forem by Nathan Johnston (@natnnatn).</description>
    <link>https://forem.com/natnnatn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3661795%2Ff04994ad-0902-486e-9497-b4028eaef19f.jpg</url>
      <title>Forem: Nathan Johnston</title>
      <link>https://forem.com/natnnatn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/natnnatn"/>
    <language>en</language>
    <item>
      <title>Title: I built a 13-app "Zoo" using Gemini Pro 3. The constraint: I wasn't allowed to inspect the code.</title>
      <dc:creator>Nathan Johnston</dc:creator>
      <pubDate>Sun, 14 Dec 2025 20:38:13 +0000</pubDate>
      <link>https://forem.com/natnnatn/title-i-built-a-13-app-zoo-using-gemini-pro-3-the-constraint-i-wasnt-allowed-to-inspect-the-442a</link>
      <guid>https://forem.com/natnnatn/title-i-built-a-13-app-zoo-using-gemini-pro-3-the-constraint-i-wasnt-allowed-to-inspect-the-442a</guid>
      <description>&lt;p&gt;I recently decided to test the absolute limits of "Vibe Coding." I wanted to know: Can I build a robust platform of micro-applications without ever acting like a traditional engineer?  &lt;/p&gt;

&lt;p&gt;To find out, I built the &lt;a href="https://appzoo.natnlabs.com" rel="noopener noreferrer"&gt;AppZoo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The Rules of the Experiment: I set a strict constraint for myself: Zero Manual Code Inspection.&lt;/p&gt;

&lt;p&gt;If Gemini wrote a React component, I wasn't allowed to audit the syntax.&lt;/p&gt;

&lt;p&gt;If Copilot suggested a Terraform configuration, I had to deploy it as-is.&lt;/p&gt;

&lt;p&gt;My role was limited to "Product Manager" and "QA." I could only verify the behavior, not the implementation.&lt;/p&gt;

&lt;p&gt;The "Blind Trust" Methodology. Since I couldn't read the code to find bugs, I had to rely on a spectrum of verification:&lt;/p&gt;

&lt;p&gt;The Logic Check (Math): For the Dual Fuel Calculator, I built a model in a spreadsheet first to know what the answers should be. I then fed the requirements to Gemini. Surprisingly, the AI didn't just match my spreadsheet—it refined the logic, handling the temperature cutoff points with better precision than my manual model. I verified the output and trusted the code to get there.&lt;/p&gt;

&lt;p&gt;The Vibe Check (Visuals): For the Fractal Explorer or the Video-to-GIF Converter, the test plan was experiential. If the fractal zoomed smoothly, or if the GIF rendered quickly, it passed.&lt;/p&gt;

&lt;p&gt;The Architecture: Sandbox Security Running uninspected AI code sounds dangerous—because it is. To mitigate this, I used the AI to build a Domain Isolation Model via Terraform.&lt;/p&gt;

&lt;p&gt;Every micro-app lives on its own subdomain (e.g., zork.appzoo..., dualfuel.appzoo...).&lt;/p&gt;

&lt;p&gt;This leverages the browser's Same-Origin Policy. If the AI accidentally wrote a vulnerability into the Zork clone, it cannot access the cookies or LocalStorage of the main parent site.&lt;/p&gt;

&lt;p&gt;The entire "Zoo" is 100% client-side. There is no backend to hack.&lt;/p&gt;

&lt;p&gt;The Friction points: It wasn't magic. The AI frequently got stuck in "circular reasoning" loops, proposing the same broken fix three times in a row.&lt;/p&gt;

&lt;p&gt;The Fix: I learned that "model switching" is the best debugger. When Gemini Pro got stuck, I’d switch Copilot to a different underlying model to snap it out of the loop.&lt;/p&gt;

&lt;p&gt;The Result: The result is a collection of 13 working apps, ranging from practical tools (Heat Pump cost analysis) to pure toys (Infinite Zork, 3D CSS Studios).&lt;/p&gt;

&lt;p&gt;It’s messy, it definitely has bugs I haven't found yet, but it exists.&lt;/p&gt;

&lt;p&gt;You can enter the Zoo here: &lt;a href="https://appzoo.natnlabs.com" rel="noopener noreferrer"&gt;https://appzoo.natnlabs.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gemini</category>
      <category>testing</category>
      <category>showdev</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
