This guide gets you running fast. For a full production setup with real backends, follow the step-by-step instructions in the setup guides.
1. Prerequisites
Ensure you have:- ✅ macOS 14+
- ✅ Xcode 15+
- ✅ 10 minutes
2. Clone and Open
Xcode will automatically resolve Swift Package dependencies. Wait ~30 seconds for this to complete.
3. Configure (Optional for Mock Mode)
Leave the default values! The app works immediately with:
- MockAuthClient - Sign in with any email/password
- EchoLLMClient - AI echoes your messages back
- No payment setup needed
4. Run the App
Press ⌘ + R in Xcode.What You’ll Experience
1
Onboarding
Swipe through 3 onboarding pages → tap “Get Started”
2
Sign In
Tap “Debug Sign In” (or use any email/password in mock mode)
3
Home Screen
See feature cards, quick actions, and subscription status
4
Chat
Tap “Start Chat” → send a message → receive echo response
Success! If you can send chat messages, you have a working AI app foundation.
5. Explore the Features
Try These Flows
Chat UI Styles:- Tap the style switcher icon (top-right in chat)
- Switch between bubble style (WhatsApp) and centered style (ChatGPT)
- Tap profile icon → edit display name
- Try uploading a photo (iOS 17+ PhotosPicker)
- Check subscription status
- Open Settings tab
- Try different themes (5 included: System, Light, Dark, Aurora, Obsidian)
- Toggle preferences
- Create multiple conversations
- Rename conversations (long press)
- Delete conversations (swipe left)
- Search conversations
Verify Everything Works
✅ Authentication
✅ Authentication
- Sign in with any email/password (mock mode)
- Sign out and sign back in
- Profile persists across restarts
✅ Chat
✅ Chat
- Create conversation
- Send messages
- Receive echo responses
- Switch UI styles
- Rename/delete conversations
✅ Profile
✅ Profile
- Edit display name
- Upload photo (compresses automatically)
- View subscription status
✅ Settings
✅ Settings
- Change themes (instant update)
- Toggle preferences
- All settings persist
What’s Running in Mock Mode
The app automatically detects missing backend configuration and uses mocks:| Component | Mock Behavior | Production |
|---|---|---|
| Auth | MockAuthClient - any credentials work | SupabaseAuthClient |
| AI | EchoLLMClient - echoes messages | ProxyLLMClient → OpenRouter |
| Payments | MockPaymentsClient - simulated states | RevenueCatClient |
| Storage | Local SwiftData | Local + optional cloud sync |
Mock mode is perfect for:
- Learning the codebase
- UI development
- Testing without API costs
- Demo purposes
Next Steps
- Customize Immediately
- Understand Architecture
- Setup Production Backends
Jump straight to customization:Change branding (5 minutes):
- App name: Edit
Config/App.xcconfig - Colors: Edit
DesignSystemColors.xcassets - Icon: Replace in
Assets.xcassets/AppIcon.appiconset
Run Tests
Verify everything with the test suite:Troubleshooting
App won't build
App won't build
Solution:
Debug sign-in not appearing
Debug sign-in not appearing
Cause: Running in Release modeSolution:
- Product → Scheme → Edit Scheme
- Run → Build Configuration → Debug
- Clean and rebuild
Dependencies won't resolve
Dependencies won't resolve
Solution:
Quick Reference
File Locations
Key Files for Customization
| What to Change | File Location |
|---|---|
| App name | Config/App.xcconfig |
| Colors | Resources/DesignSystemColors.xcassets/ |
| Onboarding | AppShell/OnboardingPage.swift |
| Home screen | AppShell/HomeContent.swift |
Useful Commands
What You’ve Learned
You now have:
- ✅ A running AI chat app
- ✅ Working authentication (mock mode)
- ✅ Functional chat with dual UIs
- ✅ Profile management
- ✅ Crashlytics seyup
- ✅ Theme system (5 themes)
- ✅ Understanding of mock vs production
Ready to Build?
Customize
Change branding, features, and UI
Architecture
Learn the system design
Deploy
Ship to production
Pro tip: Use the Building Your App guide which includes ready-to-use LLM prompts for Cursor/Claude to speed up customization!
