Case Study · Solo Designer + Dev · 2026

My Boo

A private space for couples — pair through Boo IDs, share milestones, chat, and stay close even at a distance. Under development.

UX Design System Brand React Native Firebase Solo Build
01 · Why

Why we built this

Because the best conversations shouldn't be buried in a social network.

Most couples apps default to one of two failure modes — they replicate a chore tracker (shared to-dos, calendar reminders), or they bury intimacy under a feed of features nobody asked for. There was no app that felt warm and personal, designed around the actual rhythm of a relationship — especially for long-distance couples sharing time zones, languages, and lives.

So I built one. Solo. Designed and developed end-to-end.

02 · Values

The three principles.

1
Privacy first

End-to-end privacy isn't a selling point — it's the baseline. The PIN is hashed and stored in Keychain/Keystore via expo-secure-store. The plain PIN never persists. The couple ID is XOR-encrypted with a SHA-256 PIN hash. Nobody, including me, can read your messages.

2
Intentional design

Every screen is designed to feel calm and considered. No dark patterns. No dopamine loops. No infinite scroll. Cormorant Garamond for warmth. DM Sans for clarity. Plum and rose so it feels like a place, not an app.

3
Just the two of you

My Boo is built for exactly two people. That constraint is the whole idea — it keeps everything intimate. There are no group chats. No friend lists. No discoverability. Just you and your partner.

03 · What ships in v1

Built for connection.

💬

A conversation only you two can read

Full-screen chat with swipe gestures, haptic feedback, and floating heart animations. No read receipts unless you both want them. No typing indicators that turn into anxiety. Just messages — and they stay between you.

🗓️

Every anniversary, remembered

Set milestones once. The home screen surfaces upcoming anniversaries automatically — first date, first kiss, the day you said yes. No manual reminders. No notification spam. Just the dates that matter.

📸

Your memories, not the algorithm's

A shared gallery for the photos you actually want to keep together. No public posts. No engagement metrics. Memories live where you can find them — between the two of you, and nowhere else.

🔒

Your space stays yours

Set a shared PIN with your partner during pairing. The PIN is required to unlock the app. Both partners must agree to changes. There's no "forgot password" flow that exposes your data — privacy by design, not by policy.

LDR-aware, by default

Long-distance is a first-class case. Time zone awareness is built into every chat timestamp, milestone reminder, and presence indicator. Day-counters between visits. Countdowns to the next time you see each other.

04 · Process

From research to ship.

01

Talked to real couples first

Before writing a single line of code, I interviewed couples — both long-distance and local — to understand what they actually wanted from a shared app. The recurring pain points: existing apps felt like homework, defaulted to social platforms (Instagram DMs), and ignored LDR realities.

02

Designed in Figma, prototyped fast

Mobile-first wireframes, then high-fidelity screens. Built a tight component library — colour tokens, typography scale, spacing rules — so every new screen could ship in hours, not days. Every interaction was prototyped before it was coded.

03

Built the entire app, solo

React Native (Expo 52), Firebase (Auth + Firestore + Storage), React Navigation 6, gesture-handler + reanimated for swipe interactions. Custom tab bar with FAB radial menu. Cache-first auth boot strategy so the app loads instantly from previous session.

04

Shipped to TestFlight, then production

Soft-launched with a small group of couples. Iterated on pairing friction (the original Boo ID exchange had too many steps). Tightened the onboarding to under 2 minutes. Then launched publicly at myboo.fun.

05 · Tech

The stack.

Every line of code, every Firestore rule, every design token — solo.

Mobile: React Native · Expo 52 · New Architecture
State: AuthContext (cache-first boot)
Auth: Firebase Auth (email · Google · Apple · Phone)
Data: Cloud Firestore + couple doc model
Storage: Firebase Storage (avatars, gallery)
Nav: React Navigation 6 · custom tab + FAB
Gestures: react-native-gesture-handler · reanimated
Crypto: XOR-encrypted couple ID · SHA-256 PIN hash
Secure store: expo-secure-store (Keychain/Keystore)
06 · Now

Under construction.

My Boo is actively being built. The architecture is designed, the design system is done, and development is underway — chat, milestones, pairing, and the LDR-aware layer are all in progress. When it's ready, it'll ship at myboo.fun.

get notified when it launches ↗