There’s a lot of talk right now about “vibe coding” — the idea that you can describe what you want to an AI and a working application materializes on the other side. In practice, building a production-ready, cross-platform app is still genuinely hard work. AI changes the nature of that work, but it doesn’t eliminate the rigour.
This is a post-mortem on how we shipped DOER Partners, a decentralized B2B sales tool for gig workers built in FlutterFlow, and what the actual AI-assisted development process looked like.
What the Process Actually Looked Like
Because the app relies heavily on real-time Firebase auth, Google Places APIs, and OpenAI integrations, the data architecture had to be bulletproof. When it wasn’t, things broke.
Resolving a single critical bug — a white screen crash on macOS deployment — required 29 screenshots analyzed across widget trees, Action Flows, and App State configurations, and over 20 back-and-forth exchanges in one sitting. That’s not magic. That’s debugging.
The dynamic that worked was a clean division of roles. The human held architectural authority: making the structural calls, catching misread widget hierarchies, and knowing when to stop and roll back. The AI handled pattern recognition: reading stack traces, surfacing relevant documentation, and generating hypotheses quickly.
What made it effective was that neither role was passive. When the AI’s logic was wrong, it got challenged. When a line of investigation was a dead end, the AI said so.
Where It Went Wrong (and Why That’s Normal)
Several approaches failed before the right one worked:
-
The Ghost Hunt: Time was spent building a recovery mechanism for an iOS memory issue that turned out to be a missing authentication gate entirely.
-
The Bad Advice: The AI directed attention to a Page-level trigger when the correct location was a Global trigger.
-
The Collateral Damage: Extracting a UI component accidentally broke the desktop layout and dropped a required database query parameter.
None of this is unusual. It’s the normal texture of development — wrong turns, rollbacks, re-assessment. The value of a tight feedback loop, whether human-human or human-AI, is catching those wrong turns before they compound.
The End Result
The app launched across web, iOS, and Android with a working AI-driven sales flow, stable state management, and no critical crashes. You can find it here:
-
iOS: App Store
-
Android: Google Play
-
Demo: YouTube walkthrough
The main takeaway isn’t that AI makes development faster in a straight line. It’s that it changes who you need in the room — and raises the ceiling on what a small team can ship, provided someone in that room still knows when to hit Cmd + Z.
