First Attempt at a 100% GenAI Generated App
TL;DR: AI helped us build 95% of a commuter app for iOS, and the results are incredibly promising. While some engineering expertise was needed for the final touches, this experiment shows how far GenAI has come — and how close we are to a new era in app development.
The Problem: I Needed a Better Caltrain App
Commuting between my place and San Francisco on Caltrain shouldn’t be complicated, but the existing tools often make it harder than it needs to be. I wanted a streamlined app to help me quickly check schedules, plan routes, and stay updated.
As a developer, I also saw this as the perfect opportunity to test the limits of today’s generative AI. Could I build this app entirely with AI? With tools like Claude, ChatGPT, Perplexity.ai, and Xcode’s AI autocomplete, I set out to find out.
The Experiment: Building a Commuter App with AI
The goal was ambitious: use GenAI to create a real-world iOS app from scratch. No shortcuts, no “Hello World” fluff — just a functioning app with multiple screens, modern architecture, and real data integration.
To raise the stakes, I opted to use cutting-edge frameworks like iOS 18, Swift UI 5, and Swift 6, alongside Xcode 16. These choices added complexity but also ensured the app was built for the future.
This side project was also a sandbox for ideas that wouldn’t fit in my main work on DashAPI. By experimenting here, I could keep my primary project clean while testing new frameworks and architectures.
The Tools: AI Meets App Development
Our AI Stack
- Coding: Claude, ChatGPT, Perplexity.ai, Meta.ai, and Xcode 16’s AI autocomplete.
- Design: LogoAI’s icon generator.
- Research and Debugging: Perplexity.ai and rephrased AI prompts.
- Text Generation: Fully handled by AI.
Step-by-Step Progress
- Data Integration
The app needed Caltrain schedule data, so we started by creating Ruby scripts to extract and format timetables from Caltrain.com. AI generated 100% of this code, which worked perfectly on the first try. - Icon Design
For the app’s branding, I used LogoAI to quickly generate a clean, professional icon. It was fast, effective, and better than I could have done manually. - Multi-Screen Architecture
The app includes multiple screens, which meant breaking the project into smaller steps. AI couldn’t handle the entire architecture at once, so I guided it screen by screen, stitching the results together manually. - Coding the UI and Backend
AI tools like ChatGPT handled most of the Swift UI code, producing clean, functional designs that followed Apple’s guidelines. Some tricky features required manual tweaks and better prompts to overcome errors.
The Good, the Bad, and What’s Next
What Went Right
- Understanding Modern APIs: AI tools excelled with Apple’s latest APIs, producing code that aligned with best practices and saved hours of research.
- Less Prompt Tuning: Compared to earlier versions, today’s LLMs needed fewer prompts to produce solid results.
- Speed and Productivity: Copy-pasting AI-generated code into Xcode was significantly faster than writing everything from scratch.
Challenges and Fixes
- Complex Bugs: Circular references sometimes led to infinite error loops. My engineering background — along with a little help from StackOverflow and Reddit 😉 — came to the rescue to untangle these issues.
- Multi-Screen Workflows: AI struggled to manage state and dependencies across multiple screens, requiring careful manual oversight.
- AI Isn’t Cognitive Yet: While AI can generate functional code, it doesn’t “understand” the project. Debugging tricky issues still required human intuition.
Final Results: 95% AI, 5% Human
In the end, AI handled 95% of the workload, with the remaining 5% requiring manual coding and troubleshooting. The app adheres to Apple’s design standards, features a clean UI, and functions as intended.
This experiment proves that GenAI can tackle most of the heavy lifting in app development. While it’s not yet fully autonomous, it’s already transforming how we work.
What’s Next
The next phase is all about marketing — using AI to generate App Store descriptions, social media copy, and other promotional assets. AI isn’t just a tool for coding; it’s becoming an all-in-one assistant for building, launching, and promoting products.
For DashAPI, we’ll push this further by integrating coding agents and exploring how AI can assist with larger, more complex projects.
Conclusion
This experiment isn’t just a success — it’s a glimpse into the future of app development. Generative AI tools like Claude, ChatGPT, and Perplexity.ai are already powerful enough to handle real-world challenges, and they’re only getting better.
We’re on the brink of a new era where AI will make app development faster, easier, and more accessible. And while some expertise is still required, the gap is closing fast.
Stay tuned — there’s a lot more to come. 🚀
What do you think? Have you tried using AI to build something similar? Let’s connect and chat! 👇
Updates:
Nov 22, 2024: I’m prepping the App to join the Apple Store. Stay tune!