9:41●●● ▣ ▮▮
Mood check
How are you, right now?
😊Happy
😌Calm
😐Bored
😟Nervous
😢Sad
😡Angry
Log mood
9:41●●● ▣ ▮▮
Hi there!
How can I help you today?
💬
AI Therapy
Chat with a therapist who reflects you
😊
Mood Check-In
Log how you're feeling, no streaks
🌬️
Breathing
3 minutes, guided
Home
📓
Journal
📊
Stats
9:41●●● ▣ ▮▮
Breathe
Box · 4 in, 4 hold, 4 out
Breathe in
02 · 24 remaining
iOS · INCLUSIVE TEEN MENTAL HEALTH · 2025

HappyBara

A mental wellness companion for teens, anchored on a calm capybara who listens. AI therapist personas you can match to your own identity, mood logging without streaks, guided breathing, and a private journal that nobody else sees.

SwiftUI ChatGPT API CloudKit CoreML Inclusive Design App Store · Published
10
Mood states
4
Therapist personas
100%
Private CloudKit storage
App Store
Shipped
01 · WHY

Mental health institutions are failing the teens who need them most.

In Santa Clara County, only 3% of Asian American children saw a therapist in 2021 vs. 14% of White children. The Bay Area teen population is 31% Asian and 38% Hispanic; the available therapist pool is 71% White. Identity mismatch isn't a side issue, it's the access problem HappyBara is built to solve.

144%
Increase in Black youth suicide rate, 2007 to 2020 (Pew).
40%
Of high school students reported feeling persistently sad or hopeless in the past year (CDC).
$150
Cost of a single traditional therapy session, before any waitlist.
63%
Of teens said they'd feel more comfortable with mental-health support if it reflected their identity (MHA, 2023).
02 · PRODUCT TOUR

Every screen in the app.

No screenshots from the simulator, these are the actual SwiftUI screens rebuilt in HTML so you can see the design language without leaving the page.

9:41●●● ▣ ▮▮
Meet Bara.
Your calm. Your company. Your space.
Get started
Already have an account? Log in
01 · Onboarding
Welcome
No survey, no email gate. Sets the tone: this is a low-pressure space.
9:41●●● ▣ ▮▮
Hi there!
How can I help you today?
💬
AI Therapy
Chat with a therapist who reflects you
😊
Mood Check-In
Log how you're feeling, no streaks
🌬️
Breathing
3 minutes, guided
Home
📓
Journal
📊
Stats
02 · Home
Three loops
Talk, log, breathe. Three jobs to be done. Each one is a single tap from anywhere.
9:41●●● ▣ ▮▮
Choose an AI therapist
Pick someone who reflects you. You can switch anytime.
D
Daniel
Here to listen and support you
S
Sofia
I can help with stress and anxiety
M
Malik
Offering an understanding ear
A
Alex
I'm here for you anytime
P
Priya
South Asian woman, calm + practical
03 · Therapist
Identity-first matching
5 therapist personas tuned for race, gender, and orientation. Switch any time, no commitment.
9:41●●● ▣ ▮▮
D
Daniel
● Online
Hey, glad you're here. What's on your mind today?
had a really rough algebra test today and i don't even wanna go back to school tomorrow
That sounds heavy. The dread before going back is real. Want to tell me what made the test rough?
Type a message…
04 · Chat
Ephemeral conversations
Messages stream from OpenAI through a persona prompt. Nothing is stored beyond the active session.
9:41●●● ▣ ▮▮
Mood check
How are you, right now?
😊Happy
😌Calm
😐Bored
😟Nervous
😢Sad
😡Angry
😱Shocked
😴Sleepy
😶Numb
Log mood
05 · Check-In
No-streak mood log
9 distinct moods. No streak counters, no nudges, no shame for skipping a day.
9:41●●● ▣ ▮▮
Breathe
Box breath · 4 in, 4 hold, 4 out, 4 hold
Breathe in
02 · 24 remaining
Pause
06 · Breathe
Animated co-regulation
Pulsing orb paced to box breathing. Visual only, no metrics, no goals.
9:41●●● ▣ ▮▮
Journal
Only you can see this.
😌
Today · 7:14 PM
Talked to Daniel about the test. Felt better.
😟
Today · 3:02 PM
Algebra test went badly. Hands were shaking.
😴
Yesterday · 10:48 PM
Couldn't sleep. Tried 2 rounds of breathing.
😊
Yesterday · 4:30 PM
Lunch with Aadit. Good day overall.
😐
Mon · 9:00 AM
Just a meh morning.
Home
📓
Journal
📊
Stats
07 · Journal
Private timeline
All entries sync to your private CloudKit container. Nothing leaves your iCloud.
9:41●●● ▣ ▮▮
This week
7 mood logs · 12 chat sessions
Mood trend
SMTWTFS
+18%
Calm vs last week
3.6 m
Avg breathe / day
😌
Most-logged mood
9pm
Peak chat hour
Home
📓
Journal
📊
Stats
08 · Stats
Pattern visibility
Trend over the week. Read-only patterns, never goal-shaped or compared against other users.
03 · DESIGN INTENT

A friend, not a feed.

Most teen mental-health apps default to either gamified streaks or clinical questionnaires. HappyBara borrows the affect of a Tamagotchi and the safety of a private journal. The capybara is the interaction surface; everything else is built around it.

Why a capybara

Capybaras are the calmest mammal on the internet. The mascot lets the app set a tone of low pressure: there is no streak to break, no notification scolding you. The capybara is just there.

No streaks, no nudges

Engagement-loop dark patterns work against mental wellness. HappyBara has no streak counter, no daily-goal pressure, no leaderboards. Open the app when you want to. Skip a week if you need to.

04 · STACK

SwiftUI throughout.

Pure SwiftUI views, ChatGPT API for the therapist personas, CloudKit for private sync, an MLProj action classifier for activity-based mood inference.

LayerTechWhy
UISwiftUI · iOS 18.2+Declarative views, native animations, and effortless dark-mode parity.
ConversationChatGPT API · per-persona system promptsFive distinct therapist personalities, each with its own opening style and tone.
PersistenceCloudKit · private containerJournal entries sync across the user's own iPhone + iPad. Nothing leaves their iCloud.
Mood inferenceCoreML · custom MLProj classifierOptional inference from typed entries to suggest a mood, never to label one.
AnimationSwiftUI Animation + GIF assetsThe breathing orb, mood transitions, and the capybara's mood states.