DearDiary is a mindful, AI-assisted journaling app built with Expo and React Native. It helps people capture their thoughts, track emotional patterns, and build a consistent reflection practice in a calm, private space.
DearDiary is under active development and is being prepared for an Android release.
- Smart journaling — create, edit, organize, search, and revisit entries.
- Mood check-ins — record emotions and see how moods change over time.
- Guided reflection — use thoughtful prompts when you need help getting started.
- AI reflections — receive entry summaries and follow-up questions.
- Journal chat — explore themes and patterns across past entries.
- Personal insights — view weekly and monthly mood and journaling trends.
- History and calendar — browse activity by date, mood, and tags.
- Streaks and achievements — build a steady journaling habit.
- Privacy controls — protect the app with biometrics or a PIN, export your data, and manage account deletion.
- Offline-friendly experience — keep writing with local persistence and synchronize supported data when connectivity returns.
- Expo and React Native
- TypeScript
- Expo Router
- NativeWind
- Zustand with AsyncStorage
- Clerk authentication
- Supabase
dear-diary/
├── app/ # Expo Router screens and route layouts
│ ├── (auth)/ # Authentication flow
│ ├── (onboarding)/ # First-time user experience
│ ├── (tabs)/ # Main app tabs
│ ├── journal/ # Journal entry routes
│ ├── insights/ # Insight report routes
│ ├── settings/ # Privacy and app-lock settings
│ └── legal/ # In-app legal screens
├── assets/ # App images, icons, and animations
├── components/ # Reusable UI grouped by feature
├── constants/ # Shared theme, mood, and asset constants
├── content/ # Static app content
├── data/ # Typed local and mock data
├── hooks/ # Reusable React hooks
├── lib/ # Services, storage, sync, and utilities
├── navigation/ # Shared navigation configuration
├── providers/ # App-level React providers
├── store/ # Zustand state stores
├── supabase/ # Database migrations and server-side functions
├── tests/ # Automated tests and fixtures
└── types/ # Shared TypeScript types
Journal content is sensitive by nature. The project keeps privileged credentials out of the mobile client, provides local privacy controls, and routes protected operations through server-side services. Public environment variables must never contain private or administrative credentials.
DearDiary is not yet a finished public release. Features, screenshots, and behavior may change as development continues.
