Serenity AI
A mood-aware journaling and conversation product designed around secure personal data, recent context, and restrained AI assistance.
React 18TypeScriptViteSupabasePostgreSQLGemini 2.0 FlashWeb Speech API
Intent
Why this system exists
Wellness software handles unusually sensitive context. The product was built to explore how useful AI behavior, privacy boundaries, and calm interaction can coexist.
Critical decision
What shaped the architecture
User-scoped tables are protected with Row Level Security, and model context is deliberately bounded to the latest six messages.
- 01Mood check-in→
- 02Authenticated write→
- 03Recent context→
- 04Gemini response→
- 05Wellness insight
Reliability work
Designed for imperfect conditions
- Supabase RLS
- Six-message context bound
- API failure fallback
- Three-tier content fallback
- Lazy-loaded routes
- Message context bound
- 6
- Lazy-loaded feature routes
- 6
- Data boundary
- RLS
Working result
What exists now
- Connected chat, mood tracking, journaling, community posts, and voting in one full-stack product.
- Lazy-loaded six major feature routes using React.lazy and Suspense.
- Added bidirectional voice interaction and Google OAuth-backed community participation.
Next pass
What I would improve
Add clearer retention controls, an export path, and structured evaluation for unsafe or overly confident responses.