Health & Fitness
B2B - Full Development
United States
Live iOS App + WatchOs
Zigron came to ETechViral with a product idea built around one observation: stress does not appear suddenly. It builds over days and weeks through poor sleep, broken focus, and strained relationships, and by the time most people notice it, it has already done damage. Existing wellness apps respond to stress after the user reports it. Zigron wanted to build something that detects stress early, before the user has to ask for help, and then connects them with a specific AI wellness coach trained for their situation.
The product needed to work with an Apple Watch. Heart rate, sleep patterns, and biometric signals from the watch would feed the app’s early detection system. When stress was detected, the app would send a push notification. The user would tap it, and a coaching session would begin immediately, no navigation, no setup, just a direct start.
The client had a clear product vision. What they needed was an engineering team that could build it. The technical requirements were not straightforward.
ETechViral built the full iOS application and its watchOS companion, along with the Firebase Cloud Functions backend that powers the coaching pipeline. The app launched on the App Store in August 2025 and reached version 2.0 by March 2026.
Throughout the build, licensed psychologists worked directly with the development team. They reviewed the coaching content, validated the session flows, and checked that the guidance each coach gave matched real clinical practice. This was not a review at the end of the project, psychologists were in the room at each stage where the app made decisions about what to say to a user in distress. The result is a product where the AI coaching content is grounded in how mental wellness professionals actually work with people, not just general wellness advice.
The main app is built in Flutter. It covers onboarding, user profile setup, coach selection, session management, progress tracking, and subscription handling. Users on the free plan get access to the Anxiety Guru coach and one 15-minute session. Paid subscribers get five 30-minute sessions per month, a progress dashboard, user memory across sessions, and 24/7 session access.
Each wellness coach in the app covers a specific area: stress, anxiety, sleep, motivation, relationships, happiness, calm, and spirituality. When a session starts, the coach picks up from where the previous session ended. Session history, notes, and user context carry forward across conversations, the user does not repeat themselves each time.
Flutter does not support watchOS. To build the watch app, the ETechViral team wrote a native Swift application that runs on the Apple Watch and communicates with the Flutter iOS app through WatchConnectivity, Apple’s framework for passing data between an iPhone and a paired watch.
The watch app reads the user’s biometric data, heart rate variability, resting heart rate, and sleep signals, and passes this to the iOS app. When stress indicators appear, the system triggers the notification pipeline.
When the system detects a stress signal, either from the watch biometrics or from the user’s self-reported state, a Firebase Cloud Function runs. It reads the user’s profile and session history from Firestore, identifies which coach persona fits the current situation, and sends a targeted push notification through Firebase Cloud Messaging.
The notification carries a deep link. When the user taps it, the app opens directly into a session with the correct coach already loaded. There is no home screen, no coach selection, no navigation step. One tap and the session starts.
This pipeline was built entirely in TypeScript on Firebase Cloud Functions, deployed on Google Cloud. The functions run on trigger, they do not poll or run continuously, which keeps costs low and response times fast.
The app includes eight AI coaching personas, each focused on a specific area of mental wellness:
The system selects the right coach based on what the biometric data and session history indicate, not just what the user clicks. A user whose watch data shows poor sleep over three nights might be routed to the Sleep Coach even if they open the app looking for motivation support.
Two decisions from this project apply directly to future healthcare and wellness builds:
When a client wants a Flutter app with smartwatch features, the watch companion has to be built natively. There is no shortcut. The WatchConnectivity bridge works well, but it adds coordination overhead between two separate codebases. Plan for this from the start, not after the iOS app is already built.
Firebase Cloud Functions as the communication layer for watch-to-backend data is a reliable pattern. It avoids the SDK gap, keeps the watch code simple, and centralises all business logic in one place where it can be tested and updated without touching the native watch code.
Cross-platform iOS app development
Native watchOS companion app, required because Flutter has no watchOS support
Native Android bridge code
Cross-platform iOS app development
Native watchOS companion app, required because Flutter has no watchOS support
Native Android bridge code
Auth, Firestore database, Cloud Messaging (push notifications)
Firebase Cloud Functions, persona identification, session triggers, notification logic
Cloud infrastructure, function hosting, AI model serving
Firebase Cloud Functions, persona identification, session triggers, notification logic
Auth, Firestore database, Cloud Messaging (push notifications)
Firebase Cloud Functions, persona identification, session triggers, notification logic
Cloud infrastructure, function hosting, AI model serving
Firebase Cloud Functions, persona identification, session triggers, notification logic
On the App Store
Current Version
Platforms Shipped
Stress Guru launched on the App Store on August 9, 2025. It shipped with iOS and watchOS support, full coaching pipeline, push notification triggers, and subscription management through Apple’s in-app purchase system. The app reached version 2.0 in March 2026 with a redesigned UI, faster load times, and improved subscription flows.
The client received a live, published product, not a prototype or a staging build. The app is available to download in the US App Store, runs on iPhone and Apple Watch, and handles real user sessions, payments, and data.
The two technical problems that would have blocked most Flutter teams, watchOS support and Firebase on the watch, were both solved with custom engineering. Neither required switching frameworks or abandoning the chosen tech stack. The solutions work within the existing architecture without adding brittle dependencies.
Two decisions from this project apply directly to future healthcare and wellness builds:
When a client wants a Flutter app with smartwatch features, the watch companion has to be built natively. There is no shortcut. The WatchConnectivity bridge works well, but it adds coordination overhead between two separate codebases. Plan for this from the start, not after the iOS app is already built.
Firebase Cloud Functions as the communication layer for watch-to-backend data is a reliable pattern. It avoids the SDK gap, keeps the watch code simple, and centralises all business logic in one place where it can be tested and updated without touching the native watch code.