Apple Watch App Development: Designing for the Wrist
How we design and build watchOS apps: whether you need one at all, companion versus independent apps, complications and Smart Stack widgets, and workouts with HealthKit.
An Apple Watch app is used in seconds: raise the wrist, glance, maybe tap once, lower the wrist. Apple Watch app development is the discipline of fitting a genuinely useful moment into that window, and of deciding which moments deserve the wrist at all.
Good looks like this: the information appears before the app is even opened, on a complication, in the Smart Stack or in a notification. Interactions finish in a tap or two, workout and health data are trustworthy, battery impact goes unnoticed, and the watch app still does its job when the iPhone is left at home.
What belongs on the wrist
Watch products that work share one trait: they answer a question or complete an action faster than taking out a phone. Typical examples:
- Workouts and training: running, cycling, strength and interval sessions with live metrics.
- Health and well-being: medication reminders, symptom and mood logging, breathing sessions, and companion experiences for MedTech programs.
- FinTech: a balance at a glance, transaction alerts, and approving a payment or a sign-in with one tap.
- IoT and connected devices: checking, starting or stopping hardware without reaching for a phone.
- Work tools: timers, checklists and alerts for people whose hands are busy.
- Media: playback control, and offline audio for runs without a phone.
What does not belong: browsing a catalog, reading long text, anything that needs real typing, onboarding, and settings screens with many options. Those stay on the iPhone.
Companion, independent, or no watch app at all
The first decision is whether you need a watch app. Notifications from your iPhone app already reach the watch, with their actions, when the phone is locked and the watch is on the wrist. Live Activities from the iPhone app appear in the watch’s Smart Stack. For order updates, delivery tracking or simple approvals, that may be all you need, and our iPhone app development article covers those surfaces.

| Approach | Good for | Trade-offs |
|---|---|---|
| No watch app: notifications and Live Activities | Alerts, status tracking, one-tap approvals | No custom interface beyond what those surfaces allow |
| Companion watch app | Products whose account and data live in the iPhone app | Setup and fresh data depend on the phone; weaker when it is out of range |
| Independent watch app | Workouts, cellular watch owners, Family Setup watches | Its own sign-in, networking and push handling; more to build and test |
Independent apps install from the App Store on the watch itself and work without the iPhone app, which also makes them the natural fit for watches set up through Family Setup, whose wearers have no iPhone of their own. They need their own sign-in, and typing a password on a watch is miserable, so we use Sign in with Apple or hand the session over from the iPhone app when one exists.
When the two apps do talk, Watch Connectivity offers several channels, and picking the wrong one is a common source of sync bugs. Application context carries the latest state and overwrites older values. User info transfers are queued and delivered in order. Live messages need the other side to be reachable right now. File transfers handle larger payloads. We design every flow assuming the phone may not be reachable.
Designing glanceable interfaces
- One idea per screen. A single number, status or action, in large type with strong contrast. Black backgrounds blend into the bezel and save power on the display.
- Short paths. Vertical pages and lists, the Digital Crown for scrolling and precise adjustment, and taps rather than complex gestures. On watches that support it, the double-tap gesture can trigger the primary action.
- Always On. When the wrist drops, the app can stay visible in a dimmed state that updates less often. We hide sensitive data and reduce detail in that mode rather than simply dimming everything.
- Notifications as interface. The short look shows only the essentials; the long look can carry custom content and actions. The best watch notifications are resolved without opening the app.
- Haptics as confirmation, so people know an action worked without looking again.
- Minimal input. Suggested replies and presets first, with dictation and Scribble as fallbacks.
Watch cases come in several sizes, so layouts adapt, and we check the smallest one first. VoiceOver and larger text sizes are tested on the watch itself, not assumed from the phone.
Complications and Smart Stack widgets
For many watch apps, the complication is the product. People see it every time they check the time, and open the app itself far less often. Complications and Smart Stack widgets are built with WidgetKit, the same framework as iPhone widgets, so data and timeline logic can be shared.
A few engineering realities shape the design:
- The system renders from a timeline of entries you prepare in advance, within a refresh budget. A complication on the active watch face earns more frequent background updates, but never real-time ones.
- Stale data has to be honest. Relative and timer-style text keeps counting on its own between updates, and a last-updated cue beats a confident wrong number.
- Each complication family, from circular to rectangular, inline and corner, needs its own layout, and many watch faces tint complications, so designs must work in tinted rendering as well as full color.
- Relevance hints tell the system when your widget matters, such as just before a scheduled session, so the Smart Stack can surface it at the right moment.
Workouts, HealthKit and sensors
A workout session keeps your app running during exercise, with live heart rate, energy and distance, and saves the finished workout to Health, where it joins the rest of the user’s activity history. Workouts can be started from the iPhone app and mirrored back to it for a larger live view. For non-workout sessions such as mindfulness or physical therapy, extended runtime sessions keep the app running for a limited time. Faking a workout to keep an app alive drains the battery and pollutes the user’s health data, so we do not do it.

HealthKit access is granted per data type, and only for what you request. For privacy, HealthKit never tells an app whether read access was denied; it simply returns no data. Interfaces therefore need a sensible no-data state, and we request types only when a feature needs them. App Review is strict here too: health data may not be used for advertising or data mining, and personal health information may not be stored in iCloud.
Heart rate from the watch is well suited to trends and training zones. Presenting it as a clinical measurement is a different matter: if your app diagnoses, monitors a condition or guides treatment, medical-device regulation may apply in your markets. We raise that question in discovery, so the regulatory path is settled with your advisers before the product depends on it.
Our process for Apple Watch app development
Discovery starts with moments rather than screens. For each one, we ask what triggers it (a time, a place, an event, a workout) and which surface fits: notification, complication, Smart Stack widget or app screen. The answers settle the companion-versus-independent question and tell us which HealthKit data and regulatory questions are in scope. Sometimes they show that notifications and Live Activities already cover the moment, and we will say so rather than build a watch app for its own sake.
We prototype on a real watch early, because a mockup on a laptop screen lies about legibility and tap targets. The watch app is usually built alongside the iPhone app, sharing Swift packages for the data model, networking and domain logic (our Swift app development article explains how we structure them), with the watch interface in SwiftUI. If you have an older watch app built on WatchKit storyboards, rebuilding its interface in SwiftUI is usually cheaper than carrying it forward.
QA covers what simulators cannot: sensors and workouts on real watches, haptics, Always On behavior, Low Power Mode, and the phone going out of range mid-sync. We also handle delivery to the App Store: watch screenshots, privacy details that cover health data, and review notes that explain how to reach each watch feature. After release, complication usage, session length and crash data guide the next iteration. The watch work usually sits inside a broader iOS app development team: an engineer experienced with watchOS, a product designer and a QA tester, with the business analyst from the main product.
Frequently asked questions
Do we need an iPhone app to offer an Apple Watch app?
No. Independent watch apps install from the watch’s own App Store and work without an iPhone app. Most products still benefit from both, with the phone handling setup and anything that needs a larger screen.
Can a watch app keep running in the background?
Only in specific situations, such as during a workout, an extended runtime session, audio playback or a brief scheduled refresh. Everything else is designed around short, suspended lifetimes.
Can our app read heart rate and other health data?
Yes, through HealthKit, with the user’s permission for each data type. Plan for people granting only some types, and for strict rules on how that data may be used and stored.
How do we get onto people’s watch faces?
By building complications worth adding. People choose them, so the complication must show something useful at a glance, and relevance hints help the Smart Stack surface your widget when it matters.
Should we update our old watch app or rebuild it?
If it predates SwiftUI, rebuilding the interface is usually cheaper than maintaining it, while keeping the model and networking code that still works.
If there is a moment in your product that belongs on the wrist, or you are not sure whether there is, tell us about your product. Sometimes the best answer is a better notification rather than a new app.