MOBILE APP CASE STUDY
Mellow: A Mental Wellness Companion That Stays With You
How we designed and shipped a full-featured anxiety relief app on React Native, covering iOS and Android from one codebase, with a UI built to reduce cognitive load the moment panic hits.

2
Platforms Shipped
iOS · Android
10+
Core Features
Delivered
1
Unified Codebase
React Native
Freemium
Business Model
Free + Premium
Project Context
Client
Sunshine Club (Mellow)
Niche
Mental Wellness · Mobile App
The Tech Stack
- React Native
- Node.js
- Supabase (PostgreSQL)
"I wanted to build something that feels like a trusted friend in your pocket, not another wellness tracker that adds pressure. Something that shows up during the worst moments and just stays with you until you feel okay."
The client wanted a product that removes all friction during anxiety episodes: a single-tap Anxiety Button at the centre of the experience, a design language built on calming visual cues, and no streaks, scores, or leaderboards.

Founder, Mellow
Sunshine Club

THE APP
Mellow: Anxiety Relief & Calm
Mellow is a mental wellness app built for people managing anxiety, overthinking, racing thoughts, panic moments, and emotional overwhelm. It delivers immediate crisis support and daily habit-forming tools on iOS and Android, built from a single React Native codebase, with no streaks, no guilt, and no gamification.
For Users in Crisis
- Anxiety Button: one tap initiates guided breathing and grounding; stays with the user until they feel settled
- Four breathing modes (Box, 4-7-8, Calming, Energising), chosen based on current mood and anxiety level
- Do Nothing: a 60-second mindful pause with soft ambient sound and visuals; asks nothing of the user
- Worry Popper: type your worries, watch them rise as bubbles, and pop them one by one
- Grounding exercises for moments when thinking clearly is difficult
For Daily Wellbeing
- Daily affirmations inside the app and as a home-screen widget; no app launch needed
- Journaling with guided prompts and free-form Brain Dump mode; speech-to-text supported throughout
- Do This, Today: one low-pressure calming activity each day; no streaks or penalties for skipping
- Mood tracker with daily logging, trigger identification, word cloud visualisation, and weekly summaries
- Weekly 2-minute anxiety check-in with clear, readable trend insights
- Calming games: Sudoku, Word Puzzles, Jigsaw Puzzles, Color Mandalas
HOW WE BUILT IT
A Structured, Founder-in-the-Loop Sprint Process
When Mellow’s founder first reached out, we began with a working session to understand the emotional brief: an app for anxiety that cannot itself be anxiety-inducing. Every sprint demo included the founder, and every major UX decision, especially around cognitive load during panic, was validated against real anxious-user scenarios before moving forward.

DISCOVERY
A working session to review the anxiety app landscape and understand the emotional brief: relief without pressure, calm without gamification.

REQUIREMENT ANALYSIS
We broke the brief into feature families: immediate crisis support, daily habits, distraction, and self-
awareness. Mapped dependencies and prioritised by impact during anxiety episodes.

ARCHITECTURE & TECH SELECTION
Chose React Native for a single iOS/Android codebase. Node.js + Supabase for auth, data persistence, and real-
time. Optimised for low-latency Anxiety Button response under network pressure.

UI/UX DESIGN
Full Figma design system: cream-to-lavender and blue gradient palettes, rounded forms, typography optimised for readability under stress.
50+ unique screens designed before a line of code was written.

CORE FEATURE BUILD
Anxiety Button, four breathing modes, journaling with Brain Dump, Worry Popper, mood tracker, and weekly check-in wired to the shared
Supabase schema.

PERSONALISATION & CONTENT
Mood-based breathing selection, daily activity engine, affirmation content pipeline, and iOS/Android
home-screen widget integration for affirmations without requiring the app to be open.

QA & REGRESSION
Cross-platform testing on iOS and Android across all feature states, including edge cases: partial input during panic, network drops mid-session,
and accessibility requirements during active distress.

APP STORE LAUNCH
Submitted to App Store and Google Play. Freemium subscription configured with core wellness tools free and premium access to advanced
anxiety support and detailed insights.
WHAT WE BUILT
Nine Connected Experiences Powered by a Single Codebase
Mellow ships as a complete consumer mental wellness platform: two native apps (iOS and Android) from one React Native codebase, a Node.js backend, and a Supabase database. Below is the product, screen by screen, in the order a new user would meet it.
Onboarding: Soft Welcome and Personalisation Setup
Three screens collect only the essentials: name, age, and first wellness intention. No account wall, no permission barrage. The warm cream-to-lavender gradient (#FAF9F7 to #F0F7FF) sets a calm tone before anything else loads. Name Submit, Age Submit, and First Action Submit states document the filled form at each step.

Home Screen: Feature Hub
The primary screen every user returns to. The Anxiety Button sits prominent at the top, always one tap from immediate support. Breathing exercises, journaling, calming games, and mood tracking are each a single tap away. No buried navigation, no hunting through menus.

Anxiety Button: Immediate Crisis Support
The product’s centrepiece. One tap initiates a guided sequence: breathing first, then grounding. The screen collapses all visual complexity the moment the user taps: no navigation, no notifications, no distractions. The session stays open until the user confirms they feel settled.

Breathing Exercises: Four Modes, Personalised by Mood
Box Breathing, 4-7-8, Calming, and Energising each get their own animated screen on the soft blue gradient (#E0EFFF to #F8FAFC). The breathing animation paces the inhale/hold/exhale cycle visually; the user follows the circle, not a text countdown. Mode selection is personalised to the user’s logged mood.

Daily Affirmations: Immersive Backgrounds and Home Screen Widget
Affirmations display against full-bleed nature photography (ocean waves, butterflies, forest stream, leaf rain) with a dark gradient overlay. Users choose their preferred background and affirmation category. Affirmations also ship as a home-screen widget on both iOS and Android, with no app launch needed.

Calming Games: Worry Popper and Five Grounding Experiences
Five distinct grounding experiences for anxiety moments. Worry Popper, the signature game, lets users type their worries, watch them rise as bubbles, and pop them. Six final-state screens show a clean empty sky after every worry is gone. Other games: Sudoku, Word Puzzles, Jigsaw Puzzles, Color Mandalas. Do Nothing completes the set with 60 seconds of ambient calm.

Journaling and Brain Dump: Emotional Unloading
Two modes for different emotional states: guided prompts for reflective moments (Good/Great entries on the warm cream gradient), and free-form Brain Dump for when structure adds friction. Speech-to-text is available throughout. The journal list view groups entries by mood emoji and date.

Mood Tracker and Insights: Self-Awareness Without Pressure
Daily mood logging with emoji-based selection and trigger identification. Eleven dedicated insight screens surface weekly anxiety trends, word cloud from journal entries, activity impact data, and check-in results, with no social comparison or leaderboards. The weekly summary tells users what is helping.

Profile, Reminders and Premium Access
The profile section handles notification reminders (gentle check-in nudges, never pressure), affirmation preferences, and account settings, all using the same calming visual language as the rest of the app. The Paywall Screen presents premium features without pressure, consistent with the overall tone.

THE CHALLENGES WE SOLVED
Designing for the Hardest Moment
Mellow’s core use case is a user in active anxiety. Every engineering and UX decision was pressure-tested against that scenario. What happens when the user is mid-panic, has shaking hands, can barely read, and their network drops? Six problems shaped the build:
Reducing Cognitive Load to Near Zero
Most UI design assumes a calm, attentive user making a considered choice. Mellow’s entire premise breaks that assumption: the person opening the Anxiety Button may not be able to read a full sentence or hit a small target. That meant designing for the worst version of the user’s attention, not the average one, and treating anything that wasn’t strictly necessary on a crisis screen as a liability.
Engagement Without Addiction
Streaks, scores, and notification pressure are the default mobile retention playbook because they work reliably and cheaply. Ruling them out on principle meant the product had no fallback mechanism to fall back on. Long-term engagement had to be earned by the app actually helping each time, which is a much harder thing to design for than a compulsion loop.
Ten Features, No Overwhelm
Every feature added to a wellness app is also a decision point the user has to make while already anxious. The tension was real: more tools mean more help available, but more tools also mean more menu to parse in a moment where parsing anything is hard. The resolution was to keep one feature, the Anxiety Button, always primary, and let daily recommendations absorb the decision-making the rest of the app would otherwise hand to the user.
A Calming Visual System Across 50+ Screens
A palette that’s too varied reads as chaotic; a palette that’s too narrow reads as monotonous, and either failure mode works against an app meant to be calming. Three gradient families had to do the work of dozens of screens without the user ever consciously noticing a system was in place.
Cross-Platform Widget Integration
A home-screen widget sits entirely outside what React Native can build on its own, which made it the easiest feature to quietly drop from scope. But for an app built around being “in your pocket,” an affirmation the user only sees after opening the app misses the point of the feature. The harder route was writing genuine native code on both platforms for one feature, rather than treating it as out of scope.
Trust Around Sensitive Mental Health Data
Mood entries and journal pages are about as personal as data gets. The easy defaults, a general-purpose analytics SDK, off-the-shelf cloud storage, would have gotten a working version to market faster. The harder call was treating privacy as an architectural decision from day one: locking data access down to its owner before a single feature screen existed, not bolting it on afterward.
WHAT WAS DELIVERED
A Production-Ready Mental Wellness Platform
Mellow was delivered as a complete consumer mental wellness platform: React Native apps on iOS and Android, a Node.js backend, and a Supabase database, all shipped from one codebase with a freemium subscription model live on App Store and Google Play.
| VISION | DELIVERED | |
| Crisis Support | “Something that shows up and stays until you feel okay” | Anxiety Button with guided breathing, grounding exercises, and an open session that stays until the user confirms they’re settled |
| Daily Habits | “Gentle daily engagement, no streaks, no guilt” | Affirmations (in-app + widget), Do This Today, and weekly check-in. No streaks, no penalties, no social comparison. |
| Distraction | “Games that calm you down, not wind you up” | Worry Popper, Sudoku, Word Puzzles, Jigsaw, Color Mandalas, and Do Nothing: five games and a mindful pause. |
| Self-Awareness | “Help me understand my anxiety patterns over time” | Mood tracker, trigger log, word cloud, 11 insight screens, and weekly summaries. No scoring, no leaderboards. |
| Monetization | “Revenue that doesn’t compromise trust or add pressure” | Freemium model: core tools free, premium for advanced anxiety support and insights. Live on both app stores. |
WHAT TO EXPECT FROM US
Transparent Engineering and Thoughtful Delivery for Sensitive Consumer Products
If you are building a mental health or wellness product and weighing agencies, here is what working with our team actually looks like.

A plan before a proposal.
We start with a working session to understand what your product needs to do, who it serves, and where the hard parts are. For a wellness app, that means understanding the emotional brief, not just the feature list. You leave with a delivery plan, not a sales pitch.

Privacy by design, not as an afterthought.
Mental health data is among the most sensitive data a person can share. We design data architecture and access controls before writing feature code, not as a checklist at the end. Your users’ journals and mood logs are handled correctly from the start.

Low-pressure UX from the first screen.
No streaks, no leaderboards, no guilt mechanics. These are agreed in discovery and built into the architecture, not retrofitted at the end. Your product earns retention through genuine value, not compulsion.

One team, both platforms.
A single team handles iOS and Android together. You do not pay for two teams that produce two slightly different apps and do not talk to each other. When the design changes, both platforms change. When a bug is fixed, it is fixed everywhere.

A live demo every two weeks.
At the end of every sprint, you see the actual product: what is built, what is working, and what is still in progress. You always know where your product stands. No month-long silences followed by a surprise reveal.

Quality that does not depend on one person.
Every change is tested automatically before it reaches you. Every release is reviewed by QA, by your team, and by us together. Nothing ships because one engineer said it was fine.

You own what we build.
At handover you get the full product: source code, Supabase schema and migrations, App Store and Play Store submissions, and documentation. Your team can take it forward independently or keep us on; that is your choice.

A founder-friendly working rhythm.
You are in every demo, every trade-off conversation, every milestone. Your emotional brief, the thing that makes Mellow feel like a trusted friend and not just another app, is what we are building to. You are not a ticket number.
TECHNICAL NOTES
The Architecture, Infrastructure, and Tooling Powering Mellow
Monorepo & Build
Single React Native codebase for iOS and Android; shared component library, platform-specific entry points. Monorepo structured with Turborepo and managed via Expo with custom prebuild config for native widgets. CSS-in-JS via React Native StyleSheet; the same component renders on both targets.
Backend & Database
Node.js REST API with Supabase (PostgreSQL) for auth, data persistence, and real-time pub/sub. Row-level security on all user-owned tables: mood logs, journal entries, anxiety check-ins, and breathing session data.
Home Screen Widget Integration
iOS WidgetKit (Swift) and Android App Widget (Kotlin) for the native affirmations widget. The RN app writes affirmation data to a shared App Group (iOS) and SharedPreferences (Android); the native widget reads and renders without requiring the RN runtime to be active.
Personalisation Engine
Mood-state-aware recommendation logic for breathing technique and daily activity selection. Computed server-side in Node.js. The recommendation is served to the client, keeping the model off the device and updateable without an app release.
Freemium & In-App Purchases
StoreKit 2 (iOS) and Google Play Billing Library (Android) for subscription management. Entitlement state verified server-side via Supabase Edge Functions; the client never makes its own entitlement decision.
Data Privacy Architecture
All mood, journal, and anxiety data stored under Supabase row-level security. Each row is accessible only to its owner. No third-party analytics SDK receives user-specific event data. Crash reporting via Sentry in strict PII-scrubbed mode.
QA & CI/CD
EAS Build and GitHub Actions for release automation; cross-platform device testing for all crisis-flow states. Regression suite covers: Anxiety Button, four breathing modes, journal submission, mood logging, widget data sync end-to-end.
Accessibility
Touch targets, contrast ratios, and screen reader labels (accessibilityLabel props) meet WCAG 2.1 AA. Crisis screens (the Anxiety Button and breathing flows) are the highest-priority accessibility surfaces, designed for use during active distress with shaking hands and impaired focus.
Building a mental health, wellness, or sensitive consumer product?
Book a 30-minute architecture call with our engineering lead. We will walk your feature set, flag the UX and privacy risks specific to sensitive apps, and sketch a realistic delivery plan.
