Skip to guide
DocumentationProject guides
Project guides

Build a mobile app

Design for touch, interruptions and real devices.

Reviewed 6 October 2026 · 2 min read

Import example project ↗Two named conversations, shared files, revisions and a preview.

Before you start

Choose iPhone, Android or both. Explain your features and existing skills before choosing native or cross-platform frameworks.

iPhone native builds need Mac/Xcode and signing. Android needs its SDK and Java toolchain. A simulator does not replace physical-device tests.

Step by step

  1. Define a small useful flow and the data that must work offline.
  2. Design for touch targets, safe areas, the keyboard, large text and permission denial.
  3. Show loading, retry and queued-message states clearly.
  4. Test background/foreground transitions, poor connectivity, rotation and process restart.
  5. Run on a physical device before the intended testing or store distribution.

Try this

Example request

Make a mobile habit tracker with three habits, daily check-in and local persistence. Keep it usable offline. Show sync status when online, support large text, and test reopening after the app was closed.

Check the result

  • Controls stay clear of keyboard and system bars.
  • Repeated taps do not duplicate submissions.
  • Permission denial does not crash the app.
  • Background behavior matches OS limitations.

If something goes wrong

Capture device/OS, app version and exact crash steps. Native crash logs are more useful than guessing from a screenshot.

A responsive webpage is not a verified native app. Build, signing and device checks remain separate.

Your screen may differ by platform and version. Check availability or get help.