AI-Based Application Development
Within the infrastructure Mosayic provides, you’re free to build your React Native codebase however you see fit. Mosayic generally assumes you’ll use an LLM to build the codebase – either wholly or partially – but this isn’t a requirement. Hand-coding your application is completely fine too.
But if you are using an AI agent or assistant like Claude Code or Codex, here are some points to bear in mind.
The “Vibe Coding” Phenomenon
Section titled “The “Vibe Coding” Phenomenon”On one end of the spectrum is vibe coding, popularized by ex-OpenAI engineer Andrej Karpathy in a tweet. If you read the original tweet, there’s a disconnect between what he was actually saying and what the vibe coding ecosystem has become.
The terminology is tricky – what falls into “vibe coding” vs “AI engineering” vs “copilots” is vague. But the core concept of vibe coding is that the AI takes complete control, you don’t read the code, and you hope for the best outcome.
Tools like Base44, Lovable, Replit, and Dreamflow essentially fall into the vibe coding category, in that the code basically gets generated on autopilot, and you hope for the best. Even though some are mobile-focused, there’s a strong sentiment that these tools simply don’t work for production mobile applications.
Why They Don’t Work
Section titled “Why They Don’t Work”Mobile application development is too complex for an AI to one-shot with a magic prompt. Consider that before AI, companies had entire teams working 9-to-5 daily on one mobile app, long term. That complexity hasn’t disappeared.
The Right Approach
Section titled “The Right Approach”When building a mobile application with Mosayic:
- Start with the infrastructure Mosayic provides
- Build in small, bite-sized chunks
- Test as you go
This applies not just to features, but to individual screens and pages within the app.
UI/UX Considerations
Section titled “UI/UX Considerations”Mosayic doesn’t cover UI or UX – it’s a massive topic beyond Mosayic’s scope. But it’s important to do as well as you can.
Most AI agents accept images, so you can:
- Browse resources like Mobbin or Dribbble for UI inspiration
- Paste reference images directly into your AI code editor
- Use Figma for mockups and have the AI generate code from them
The Mosayic template helps establish this structure – have your AI follow its conventions and examples.
Context Engineering
Section titled “Context Engineering”Beyond vibe coding, other terminology is emerging in AI application development, such as context engineering. This approach is built on the premise that the more context you feed to an AI, the more stable the results will be.
There’s certainly truth to this – though how much is still unresolved. Some frameworks go as far as creating agents and roles for individual tasks, mimicking an entire dev team organization.
For example, the BMAD method defines roles like architect, project manager, developer, and QA tester. The idea is that by initiating these roles for particular tasks, you can create more robust applications. GitHub also has an offering called SpecKit.
What Has Been Established
Section titled “What Has Been Established”Regardless of methodology, certain truths have emerged about AI-assisted development:
1. AI Can Build Applications – Up to a Point
Section titled “1. AI Can Build Applications – Up to a Point”AI is absolutely capable of building an application, but only up to a certain size. For enterprise-grade applications, you will need an engineering team. You can’t expect AI to understand the level of context in a codebase that large.
2. Testing Is Essential
Section titled “2. Testing Is Essential”The AI can write its own tests, and you should absolutely take advantage of this. Tests reinforce themselves and can be entirely handled by the AI – let it maintain them.
3. Build Piece by Piece
Section titled “3. Build Piece by Piece”Regardless of how much context you provide, it’s critical to complete one simple task at a time:
- Build a single screen
- Introduce a specific piece of logic
- Test that logic or UI
- Then move on
Build iteratively, use Git to its full extent, and deploy to TestFlight and Google Play testing tracks as regularly as possible. This also gives you practice with production deployments – a skill that becomes critical once your app goes live.