๐ŸŽ“Iris Courses
โ† AI App Building (No-Code & Low-Code)
Day 12 of 14

Vibe Coding โ€” Shipping Full Features with AI

The Vibe Coding Workflow

'Vibe coding' is a term for using AI assistants to generate significant portions of application code from natural language descriptions. When done well, it compresses feature development from days to hours. When done badly, it creates unmaintainable code that breaks in subtle ways. The workflow that works: (1) Write a detailed spec โ€” be specific about data models, API contracts, and edge cases. Not 'build a login' but 'build email/password authentication using Supabase Auth, with email verification before login is allowed, and a forgot password flow that sends a reset link valid for 1 hour.' (2) Use Cursor's Composer to generate the full implementation against the spec. (3) Review all generated code before running it. (4) Run tests (also generated by AI if needed). (5) Deploy to a preview environment and test manually. (6) Code review as if reviewing a junior developer's PR โ€” with the same critical eye. The spec quality is the most important variable. A vague spec produces vague code. A precise, detailed spec with clear data models and edge cases produces code that works the first time 70โ€“80% of the time.

What to Build With AI vs What to Write Yourself

The decision framework for AI generation vs hand-coding comes down to three factors: risk (how bad is a bug here?), reversibility (how easy is it to fix if something goes wrong?), and specificity (how much domain knowledge is required that the AI doesn't have?). Build with AI: UI components, form handling, basic CRUD operations, API route boilerplate, email templates, test cases, documentation, migration scripts, utility functions. These are low-risk, easily reviewable, and heavily patterned โ€” exactly where AI coding assistance excels. Write yourself (with AI assistance, not generation): security-critical code (authentication flows, authorisation checks, payment processing), complex domain logic (clinical risk scoring, medical calculations), anything touching personal or health data directly, and performance-critical paths (caching strategies, database queries at scale). These require deep understanding of what's happening and why โ€” AI generation is fine as a starting point but requires significant human expertise to validate and refine. For ShowerBuddy and BathCheck, the UI layer (SwiftUI views, form inputs, navigation) is prime AI-generation territory. The safety logic, data security, and NDIS compliance features need careful human authorship with AI assistance.

โšก Today's Action

Pick a UI component or feature that's been on your backlog for a month. Write a detailed spec (200+ words, specific enough that a junior developer could implement it). Feed the spec to Cursor Composer. Time the entire process from spec to working feature. What did AI accelerate? What required your intervention?

๐Ÿ’ก Pro Tip

Maintain a 'generated code' label or comment convention in your codebase. Add a comment `// AI-generated, reviewed by [name] on [date]` to blocks of generated code. This creates a trail for code review and helps future developers understand what was generated vs what was deliberately crafted.