Building your app
Once you have created a project, the workspace gives you four tabs to drive the build: Chat, Preview, Code, and Settings.
Chat tab
Send prompts to the agent. Best practices:
- Be specific. “Add a workout history list grouped by week, with a calendar picker at the top” works better than “make it look better”.
- One change at a time. The agent handles multi-step plans well, but small focused prompts produce cleaner diffs.
- Attach screenshots. Drag any image into the composer to give the agent visual reference. Use this for design inspiration or to point at a bug.
- Use the Plan mode for big changes. The agent proposes a step-by-step plan you can approve before any code is written.
Preview tab
Live cloud iOS Simulator. Tap, scroll, fill forms, navigate — it is a real simulator. Some notes:
- The simulator boots on first preview and stays warm; subsequent loads are near-instant.
- Push notifications, App Store IAP, and Apple Sign-In are stubbed in the simulator. Test those on a real device via TestFlight.
- Network requests work normally. Backend calls hit the real services (Supabase, Stripe, etc.) you have configured.
Code tab
Read-only view of every generated file. Useful for:
- Understanding what the agent wrote
- Copying snippets out for your own reference
- Reviewing diffs after each agent turn
If you want to edit code directly, push to GitHub (Pro and above) and edit it there. The agent stays in sync.
Settings tab
Manage:
- Bundle identifier (one-time set, immutable after first TestFlight build — choose carefully)
- App name (max 30 characters, must match App Store Connect exactly)
- Environment variables (encrypted with KMS — Stripe keys, API tokens, etc.)
- EXPO_PUBLIC_* variables for client-side runtime config
- Custom domain (Pro and above) to point your own domain at the generated app
Generating an app icon
The Icon tab works the same way as Chat: describe what you want, hit generate, pick from the candidates. Icons are 1024×1024 transparent PNGs by default. Use the Ship without baked-in background toggle to let iOS apply its automatic background mask, or upload a fully composed icon if you have your own.
Tip: If the agent gets stuck or produces weird output, undo to the last green state in the chat history. Each agent turn is a checkpoint.