Clarity: AI Addiction Recovery App by Christian VismaraClarity: AI Addiction Recovery App by Christian Vismara

Clarity: AI Addiction Recovery App

Christian Vismara

Christian Vismara

The problem

Most recovery apps are built by people who've never struggled with addiction. You can tell. They feel clinical, generic, disconnected. Check a box, read a motivational quote, move on. The daily check-in is a form. The "support" is a list of phone numbers.
The people who actually need these tools need something that feels like it knows them. Not a wellness poster turned into software.
Clarity is a cross-platform app (iOS, Android, web) built from a single React codebase using Capacitor for native bridges. The design is glass morphism: dark gradients, violet and teal accents, frosted-glass cards. Every color choice is intentional. Red only shows up on the crisis screen.
The core feature is AI check-ins that carry context between sessions. The chat uses GPT-4o-mini with a 30-message conversation memory stored in MongoDB. When a user says "I'm struggling today," the AI knows what they were dealing with last week. It has custom tools: one that saves important facts about the user for future reference, and one that looks up crisis hotlines by region.
When a craving hits, the app offers four response paths: guided breathing (4-phase cycle, 5 repetitions, animated visualization), AI chat, distraction methods (Spotify playlists, timed walks, exercises), or reflection journaling. The breathing exercise alone took more design iteration than most entire apps.

The technical challenge

Building one app for three platforms from one codebase sounds simple until you deal with payments. iOS requires RevenueCat (Apple won't let you use Stripe for in-app purchases). Android uses the same RevenueCat flow. Web uses Stripe directly. The app detects the platform at runtime and routes to the right payment system.
Push notifications have the same split. Local notifications (daily reminders, goal milestones) use Capacitor's native plugin. Server-side push (inactive user nudges, trial expiration warnings) goes through OneSignal's API via Supabase Edge Functions on a daily cron.
The notification copy never mentions "recovery" or "addiction" in case someone else sees the phone. Just "A new thought is waiting for you" or "How's your goal coming along?"
Like this project

Posted Apr 18, 2026

Solo-built a cross-platform recovery app. AI chat with memory, guided breathing, crisis support. iOS, Android, and web from one codebase.