
CalmAI - AI Mental Health & Wellness Companion App (Flutter)

Description
CalmAI — AI-Powered Mental Health & Wellness Companion
CalmAI is a complete Flutter source code for a mental wellness app (Android + iOS + Web Admin Panel). It combines an AI therapy chatbot, mood tracking, guided journaling, CBT thought records, breathing exercises, a gratitude journal, a sleep tracker, a habit tracker, a guided meditation library with offline TTS playback, a worry box (CBT worry postponement), mood analytics, weekly AI-generated wellness reports, an always-on SOS grounding screen, and a 19-badge streaks & milestones system — all in a Living Sanctuary design (forest green palette, Newsreader + Manrope typography) with full dark mode support.
Includes a web-based admin panel with dashboard, user management, crisis conversation moderation, analytics, configuration editor, reports with CSV export, and audit log.
Built for developers who want to launch a mental health app quickly — everything is wired, tested, and ready to publish.
Try Before You Buy
Download Demo APK (Android):
Download CalmAI Demo APK from Google Drive
Note: Enable “Install from unknown sources” in your Android settings to run
the demo.
️ Live Admin Panel Demo (Web):
https://calmai-fd671.web.app
Test Account: Email: admin@calmai.com / Password: 123456
✨ Key Features
- AI Therapy Chat — GPT-4o or Gemini-powered chatbot with CBT-based responses, conversation history, and conversation starters
- Mood Logging — 8 mood types, 1–5 intensity slider, trigger tags, and instant AI mood acknowledgment
- Guided Journal — Free write, AI-prompted, and CBT thought record (6-step) with AI review
- 5 Breathing Exercises — Box breathing, 4-7-8, deep calm, energize, sleep wind-down — fully animated, 100% offline
- Gratitude Journal — Daily 3-item entry, streak tracking, and a scrollable gratitude jar
- Sleep Tracker — Bedtime / wake-time pickers, 5-emoji quality scale, optional note, live duration ring, weekly bar chart, 30-night history, consecutive-night streak chip
- Habit Tracker — 6 seeded default habits + custom habits with emoji picker, tap-to-complete daily cards, weekly completion-rate card, 30-day per-habit heatmap, archive control
-
Guided Meditation Library — 8 bundled scripts across 8
categories (anxiety, sleep, focus, self-compassion, morning, stress, grief,
confidence), category filter chips, TTS player with real silence on
[pause Xs]markers, session logging. Free tier sees 3, premium unlocks all. - Worry Box — CBT worry postponement: capture worries any time (offline-first), set a daily Worry Time reminder, then review each pending worry and resolve it as faded / resolved / still on my mind. Weekly stats card shows how many worries faded on their own; still-relevant worries can be sent to a prefilled CBT record or discussed in chat. Optional premium AI reflection on your review session.
- Voice Input & Text-to-Speech — Speak to CalmAI instead of typing; toggle voice mode to have AI responses read aloud
- Mood Analytics — Day streak counter, color-coded pattern insights, top mood triggers chart, and wellness score (fl_chart)
- White-Label Branding — Set app name, support email, privacy policy URL, and terms URL from the admin panel — no code changes needed
- Weekly AI Wellness Report — Personalized summary of wins, insights, and next-week intention (premium)
- Morning Affirmation — Personalized AI affirmation on the home dashboard
- Crisis Safety System — Client-side keyword detection, offline crisis resources (US/UK/AU/CA/International), always-visible professional help link
- SOS Coping Cards — Persistent SOS button on every screen opens 10 evidence-based grounding techniques (5-4-3-2-1, Box Breathing, STOP, etc.) plus tap-to-dial regional crisis hotlines. 100% offline.
-
Streaks & Milestone Badges — 19 unlockable
badges across day-streak (3/7/14/30), first-time milestones (mood,
journal, CBT, breathing, meditation, sleep, worry), volume milestones
(moods, journals, gratitude, breathing, worries), the sleepStreak7
night-tracking badge, and firstWeeklyReport. Snackbar announces unlocks,
badges shelf on the profile screen, full grid view at
/profile/badges. - Premium IAP — RevenueCat monthly + annual subscriptions, paywall screen
- AdMob Ads — Banner + interstitial, fully optional (disable via Remote Config)
- Dark Mode — Full dark theme with persisted user preference
- Firebase Auth — Email/password, Google Sign-In, Anonymous (guest mode)
- Push Notifications — Daily check-in reminders, streak alerts, weekly report
- GDPR-Ready — Full data export + one-tap account & data deletion
- Web Admin Panel — Dashboard with KPIs, user management (search, toggle premium, GDPR delete), crisis conversation moderation, mood analytics with charts, runtime configuration editor, weekly reports with CSV export, and immutable audit log
- Firebase Hosting — One-command deployment for the admin panel
- 193 Unit Tests — Crisis detection, badge enum (19 values), coping cards, mood patterns, validators, sleep quality, meditation category, meditation script parser, worry status, worry stats calculator, all enums
Tech Stack
- Flutter 3.41 / Dart 3.11 — Android + iOS + Web Admin
- State Management: Riverpod 2.x
- Navigation: GoRouter 14.x
- Backend: Firebase (Auth, Firestore, Remote Config, FCM)
- AI: OpenAI GPT-4o + Google Gemini 1.5 Pro (switchable via Remote Config)
- IAP: RevenueCat
- Ads: Google AdMob
- Data Models: Freezed + JSON serializable
- Charts: fl_chart 0.69
- Voice: speech_to_text 7.x + flutter_tts 4.x
What’s Included
- Full Flutter source code — 35 mobile screens + 11 admin screens, clean architecture
- Web admin panel with dashboard, user management, moderation, analytics, config, reports, audit log
- All 5 breathing exercise animations (offline, no API)
- 8 bundled guided meditation scripts (offline TTS, no API call to play)
- Offline crisis resource database (5 regions) + 10-card SOS grounding pool
- Complete Firebase Firestore security rules (12 user-scoped subcollections)
- Firebase Hosting config for admin panel deployment
- 193 unit tests
- Offline HTML documentation + Quick Start Guide
⚙️ Requirements
- Flutter 3.41.x (stable channel)
- Firebase project (free Spark plan works for development)
- OpenAI API key or Google Gemini API key
- RevenueCat account (free tier available)
- AdMob account (optional — leave empty to disable all ads)
Changelog
Version 1.5.0 — July 2026 (Worry Box Update)
- NEW: Worry Box — a CBT worry-postponement tool. Capture worries any time into an offline-first box (short text + optional 1–5 intensity), with the new worry drop into the pending list instantly. Reached from a new Home tool tile.
- NEW: Worry Time reminder — set a daily time (stored on the user profile, default 18:00) that schedules a local notification prompting you to open the box and review. Toggle also exposed in Settings alongside the daily mood reminder.
- NEW: Review flow — work through pending worries one-by-one and resolve each as “faded on its own”, “resolved”, or “still on my mind”. A weekly stats card surfaces the postponement insight (“N worries this week — M faded on their own”). Worries that still matter can be sent to a prefilled CBT thought record or discussed in AI chat.
- NEW: Optional premium AI reflection — after a review session, premium users get a warm 2–3 sentence AI observation on their worry patterns (capped by a timeout so it never hangs). Free users see the static stats plus an upsell.
-
NEW: 2 new milestone badges —
firstWorry(“Worry Boxer”) andworries10(“10 Worries Boxed”). BadgeType enum now has 19 values total. -
NEW:
worriesFirestore subcollection (worries/{uid}/entries/{worryId}), user-scoped and wiped by the existing GDPR delete (deleteAllUserData()now covers 12 subcollections). NewworryTimefield on the user profile. -
NEW: AI service gains a
generateWorryReflectionmethod (OpenAI + Gemini) with a dedicated prompt intherapy_prompts.dart. - SAFETY: worry capture is 100% offline and sends nothing to AI. Every worry text runs through the client-side crisis detector — at capture a crisis keyword surfaces the offline resource sheet + “Open SOS” (worry still saves), and the AI reflection is skipped entirely if any worry trips detection.
- NEW: Tests — worry_status (5) and worry_stats_calculator (5), plus the badge_type test bumped to assert 19 values. Total unit tests now 193 (was 183).
- NOTE: Home dashboard tool grid grew from 9 → 10 tiles with the addition of Worry Box.
Version 1.4.0 — May 2026 (Sleep, Habits & Meditation Update)
- NEW: Sleep Tracker — log bedtime, wake time, quality (5 emojis), and an optional note. Live duration ring updates as you adjust pickers. Weekly bar chart of duration plus a 30-night history list. Consecutive-night streak chip on the log screen.
- NEW: Habit Tracker — 6 buyer-seeded default habits (hydration, exercise, going outside, no screens before bed, meditate, gratitude). Tap-to-complete daily cards, weekly completion-rate card, 30-day per-habit heatmap on the detail screen, archive control, and an add-custom-habit bottom sheet with a 14-emoji picker.
-
NEW: Guided Meditation Library — 8 bundled scripts across 8 categories
(Anxiety, Sleep, Focus, Self-Compassion, Morning, Stress, Grief, Confidence).
First 3 are free; the rest are premium-gated (configurable via the new
free_meditationsRemote Config key, default 3). Category filter chips on the library screen. -
NEW: Meditation Player with offline TTS — narrates each script via
flutter_ttsat a slowed, calm pace.[pause Xs]markers in the script insert real silence between text chunks. Play / pause / stop controls; finished sessions are logged. -
NEW: 4 new milestone badges —
firstSleepLog,sleepStreak7(7 consecutive nights of sleep logging),firstMeditation,meditations5(5 completed meditations). BadgeType enum now has 17 values total. - NEW: Weekly AI Wellness Report v2 — the prompt now ingests sleep averages (hours + quality), weekly habit completion rate, and meditation session count. The response includes two new sections (Sleep + Habit Tip) shown on the report screen, in the PDF export, and in the share text. Nullable fields keep v1.3 reports rendering correctly.
-
NEW:
free_meditationsRemote Config key — Int, default 3. Controls how many meditations free-tier users can play before the paywall. -
NEW: Four new Firestore subcollections (all user-scoped):
sleepLogs,habitDefinitions,habitCompletions,meditationSessions. All four are wiped by the existing GDPR delete (deleteAllUserData()now covers 10 subcollections). - NEW: Home dashboard tool grid grew from 6 → 9 tiles with the addition of Sleep, Habits, and Meditate. Tile layout: AI Chat, Journal, Breathe, Gratitude, Sleep, Habits, Meditate, Insights, Premium.
- NEW: Tests — sleep_quality (4), meditation_category (4), meditation_script_parser (6) — plus the badge_type test bumped to assert 17 values. Total unit tests now 183 (was 169).
- UPDATED: Habits screen avoids a screen-level FloatingActionButton (would overlap the persistent SOS FAB). “Add habit” lives as an AppBar action and an inline outlined button at the bottom of the daily list.
Version 1.3.0 — May 2026 (SOS & Engagement Update)
- NEW: SOS Coping Cards screen — persistent floating SOS button on every authenticated screen (hidden only on chat & SOS itself to avoid duplication). Opens a calming page with 3 randomly-shuffled grounding techniques from a pool of 10 (5-4-3-2-1, Box Breathing, Cold Water Reset, Safe Place Visualization, Name Your Emotion, Opposite Action, Body Check-In, Reach Out, STOP, One Breath/One Step). 100% offline — no API calls.
- NEW: Tap-to-dial crisis resources sheet — opens from the SOS screen, lists region-specific hotlines (US/UK/AU/CA/International), tapping a number launches the system dialer.
-
NEW: Streaks & Milestone Badges — 13 unlockable badges. Day-streak
counter now bumps on any tracked activity (mood, journal,
CBT, breathing, gratitude) instead of mood-only. Awards
streak3,streak7,streak14,streak30, four first-time badges (firstMoodLog, firstJournal, firstCBT, firstBreathing), four volume badges (moods10, journals10, gratitude10, breathingSessions10), and firstWeeklyReport. -
NEW: Badges shelf on Profile screen + full grid at
/profile/badgesshowing earned (in color with earned-date) vs locked (desaturated with lock icon). - NEW: Badge unlock snackbar — surfaces from any tab via a global Riverpod listener. Single unlock shows the badge title; multiple simultaneous unlocks show ” N badges unlocked”.
-
NEW:
userBadgesFirestore subcollection — added to GDPR delete flow. -
UPDATED: Journal screen “New Entry” button moved from
FloatingActionButtontoAppBaraction so the persistent SOS FAB has a clear slot. -
UPDATED: Streak math centralized in
BadgeService— inline streak update logic removed fromMoodLogNotifier.
Version 1.2.0 — April 2026 (Voice, Insights & White-Label Update)
- NEW: Voice input — tap the mic button in chat to speak your message; speech is transcribed and auto-populated in the text field
- NEW: Text-to-speech — toggle voice mode in chat to have CalmAI’s responses read aloud
- NEW: Day streak counter on the Analytics screen, pulling from the user profile’s live streak data
- NEW: Top Mood Triggers section on Analytics — horizontal bar chart showing the user’s top 5 recurring triggers with frequency counts
- NEW: Color-coded insight cards — each insight type (positive, downward trend, trigger, pattern) has a distinct icon and accent color
- NEW: White-label branding panel in Admin Config — set app name, support email, privacy policy URL, and terms URL at runtime from Firestore, no redeployment needed
- UPDATED: Admin Config screen pre-loads existing values from Firestore on open; all branding changes are audit-logged
Version 1.1.0 — April 2026 (Admin Panel Update)
- NEW: Web admin panel — dashboard with KPIs, user management, crisis conversation moderation, mood analytics, configuration editor, weekly reports with CSV export, immutable audit log
- NEW: Admin authentication with role-based access (superAdmin, admin, viewer)
- NEW: Audit trail — all admin actions logged with timestamp, admin identity, and details
- NEW: CSV export for reports, audit logs, and per-user mood logs/journal entries
- NEW: Crisis keyword and resource management via admin panel
- NEW: Firebase Hosting deployment for admin panel
- NEW: 160+ unit tests
- UPDATED: Design system — Living Sanctuary theme (forest green, Newsreader + Manrope typography)
- UPDATED: Flutter 3.41 / Dart 3.11
Version 1.0.0 — March 2026 (Initial Release)
- AI Therapy Chat with GPT-4o and Google Gemini 1.5 Pro (switchable via Remote Config)
- Mood logging — 8 mood types, intensity slider, trigger tags, AI acknowledgment
- Guided journal — free write, AI-prompted, and CBT thought record with AI review
- 5 guided breathing exercises — Box Breathing, 4-7-8, Deep Calm, Energize, Sleep Wind-Down
- Gratitude journal — daily entry, streak tracking, gratitude jar
- Mood analytics — trend charts, pattern insights, weekly wellness score
- Weekly AI wellness report — personalized summary, wins, insights (premium)
- Morning affirmation — personalized AI affirmation on home dashboard
- Firebase Auth — email/password, Google Sign-In, anonymous guest mode
- RevenueCat IAP — monthly and annual premium subscriptions, paywall screen
- AdMob — banner and interstitial ads (fully optional via Remote Config)
- Push notifications — daily reminders, streak alerts, weekly report notification
- Dark mode — full dark theme with persisted preference
- Crisis safety system — offline keyword detection, 5-region crisis resource database
- GDPR-ready — full data export and one-tap account deletion
Support
We’re here to help you get the app running and published.
- Email: devsnack26@gmail.com
- WhatsApp: +855 967 413 911
Typical response time: within 24 hours on business days. Please include your CodeCanyon purchase code when reaching out.
| Type | Flutter App |
|---|---|
| Author | DevSnack |
| Price | $19 |
| Sales | 13 |
| Rating | 0 (1) |
| Published | Apr 1, 2026 |
| Last Update | Jul 2, 2026 |
| Compatible Software | Flutter 3.x, Flutter 2.x, Flutter 1.x, Other |
| Mobile Files Included | Dart, YAML, .java, .kotlin, .h, .storyboard, .plist, .swift |
Categories
Tags
External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.
Products of the Week.
Submit🥇
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 7,384 views · 67 clicksSaaS · Week 46 · 7,384 views · 67 clicks
🥈
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
Website · 46,671 views · 232 clicksWebsite · Week 46 · 46,671 views · 232 clicks
🥉
upvote.club
Free Social Media Engagement that Helps Boost Your Content. Upvote Club supports 19 social networks with 100+ engagement actions in one dashboard. Add links to your posts and get free engagement from real users.
SaaS · 44,611 views · 127 clicksSaaS · Week 46 · 44,611 views · 127 clicks
#4
Substack Posting API
Onboard your Agent to Substack. Write Publish on Substack via API
SaaS · 63,497 views · 206 clicksSaaS · Week 46 · 63,497 views · 206 clicks
#5
Seenshot App
Free, Fast, MacOS Screenshot app. Make Screenshot cmd+shift+2 and send it via link
Desktop App · 32,745 views · 127 clicksDesktop App · Week 46 · 32,745 views · 127 clicks
#6
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 8,363 views · 19 clicksWebsite · Week 46 · 8,363 views · 19 clicks
#7
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
6,993 views · 29 clicksWeek 46 · 6,993 views · 29 clicks
#8
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
6,469 views · 18 clicksWeek 46 · 6,469 views · 18 clicks