Mobile applications
iOS and Android in Flutter, covering onboarding, workout plans, progress, activity tracking, paid access, notifications, and the daily member experience.
Our Global Presence
NWFit · AI fitness · iOS · Android · Web
We built and scaled NWFit as one product across mobile and web, connecting personalized workout recommendations, subscriptions, payments, activity data, analytics, and the systems required to operate the platform as usage grew.

Product context
NWFit needed to feel consistent whether a member opened the mobile app or the web product. Behind that experience, the platform had to manage workout recommendations, paid access, activity integrations, notifications, analytics, advertising attribution, and daily product operations.
Those pieces could not be treated as separate integrations. A subscription decision affected access. Activity data affected progress. Recommendation logic affected the next workout. Analytics and support needed to see enough of the same data to understand what a member experienced.
Product scope
The delivery connected customer-facing surfaces to shared product state and the operating services behind them.
iOS and Android in Flutter, covering onboarding, workout plans, progress, activity tracking, paid access, notifications, and the daily member experience.
A Next.js web product connected to Stripe payments and subscriptions and the account access model.
Express.js and MongoDB services handled product data, user state, mobile and web APIs, and shared integrations.
A Python and FastAPI service powered personalized workout recommendations and stayed separate enough to improve without rebuilding the whole application.
Stripe supported web payments, while RevenueCat and Superwall supported mobile subscriptions, paywalls, and product testing.
HealthKit, Google ML Kit, Firebase, attribution, analytics, and session insight connected device data, product behavior, and growth operations.
Engineering structure
What mattered during delivery
Web and mobile used different payment systems, but members needed one understandable access state.
The AI layer connected to member state and workout delivery rather than becoming a detached chatbot.
Attribution, analytics, notifications, and session insight helped the team understand acquisition, activation, engagement, and support.
Shared services and clear integration boundaries made new workouts, paywalls, experiments, and campaigns easier to reason about.
Outcome
NWFit grew across iOS, Android, and web while the product combined AI workout recommendations, activity data, subscriptions, payments, analytics, and daily operations in one platform.
Technology Flutter · Next.js · Express.js · MongoDB · Python · FastAPI · Stripe · RevenueCat · Superwall · HealthKit · Firebase
More selected work
Building a product with similar complexity?
We can help shape a new cross-platform product, improve an existing one, or take responsibility for the systems that need to scale with it.
Discuss your project