← Back to all projects

Case Study — Selah

Building a mental health app for a community that already knew how to support each other

A React Native (Expo) mental-wellness app — Supabase/PostgreSQL backend with auth and a Claude API service layer powering CBT-style conversational flows. 90+ active users.

At a glance

Role
Full-Stack Engineer · 2025 — Present
What
Anonymous Prayer Community for Spiritual Wellness
Did
React Native + Supabase + Claude API app — auth, encrypted data, and CBT-style conversational flows. 90+ active users.
Impact
90+Active users
Stack
React Native + ExpoSupabase / PostgreSQLClaude APITypeScript

Problem

Selah is a faith-based mental-wellness app built around CBT — guiding users to identify cognitive distortions and reframe negative thoughts, with an anonymous prayer community at its core. It needed a trustworthy real-time mobile experience: secure auth, private data, and an AI layer that could hold a supportive conversation without feeling robotic.


My Role

Full-stack engineer — the React Native (Expo) app, a Supabase/PostgreSQL backend with auth, and a Claude API service layer powering the CBT-style conversational flows.


Process

  1. 1

    Built the CBT flow in React Native (Expo) — guided steps that help users identify cognitive distortions and reframe negative thoughts, with personalized Bible-verse recommendations.

  2. 2

    Implemented the anonymous prayer room on Supabase/PostgreSQL with row-level security — real-time shared posts and responses where users interact without exposing their identity.

  3. 3

    Built the Claude API service layer behind the conversational flows, keeping prompts and API keys server-side and shaping responses to stay supportive and grounded.

  4. 4

    Instrumented retention analytics across features. The prayer room drove near-100% 7-day retention, so I cut secondary features and surfaced it as the primary navigation.

  5. 5

    Reached 90+ active users and ran a pilot to validate the experience in the field; one cut feature is being reinstated based on usage feedback.

핸드폰을 보다가 멈추고 기도하게 된 경험은 처음인 것 같다. 너무 좋았다.

User feedback during church pilot (“This was the first time I ever found myself praying while on my phone. It felt really good.”)


Outcomes

90+

Active users

~100%

7-day retention on prayer room — users return daily to update and respond to requests

Now

Preparing for launch with monetization


Stack

React Native + ExpoSupabase / PostgreSQLClaude APITypeScript

What I Learned

Designing for vulnerable moments raises the bar on every detail — copy, screen transitions, notifications, and especially data privacy and reliability. I treated security (auth, row-level security, private data) and a calm, dependable UX as core engineering requirements, not polish. And narrowing the product to one real workflow — the prayer room — beat building for everyone; the retention numbers made that decision for me.