A meditation tracking app built by a meditator, for meditators.
Meditary was developed by a meditation practitioner who felt the need for an app like this. No login screens, no in-app purchases, no tracking — just the features that matter to support a good meditation practice.
Meditary was built with a clear vision:
- Privacy First: No accounts, no servers, no tracking. Your meditation practice is personal.
- Simplicity: Only features that enhance your practice, nothing more.
- Offline Always: Works perfectly without internet. Your data never leaves your device.
- No Monetization: No ads, no subscriptions, no in-app purchases.
- Open Source: Transparent, auditable, and community-driven.
- Customizable Questions: Tailor your reflection prompts (concentration, physical pain, emotional state, etc.)
- Daily Entries: Log your meditation sessions with personalized insights
- Entry History: Review past meditations with detailed notes and responses
- Flexible Durations: 10, 20, 30, 40, 50, or 60 minutes (plus custom duration 1–120 min)
- Interval Gongs: Optional chimes at 5, 10, 15, 20, or 30-minute intervals
- Authentic Sounds: Real meditation bell recordings (notification bell, Tibetan bowl, Zen bowl)
- Smart Save: Automatically prompts to save sessions over 10 minutes, even if stopped early
- Streak Counter: Track consecutive days of practice
- Weekly/Monthly/Yearly Stats: Visualize meditation frequency and trends
- Concentration Trends: Monitor focus levels over time
- Time Conversion: Automatically displays hours when total minutes exceed 60
- Visual Overview: See meditation days at a glance
- Monthly Counts: Track how many sessions per month
- Day Details: Tap any day to view all entries
- Offline-First: All data stored locally with AsyncStorage
- No Account Required: Your data stays on your device
- Node.js 20+ and pnpm
- Expo CLI (installed automatically)
- For iOS Development (macOS only):
- Xcode 15+
- iOS Simulator
- For Android Development:
- Android Studio
- Android Emulator
- For Mobile Testing: Expo Go app on your phone
-
Clone the repository
git clone https://github.com/vayulab/meditary.git cd meditary -
Install dependencies
pnpm install
-
Start the development server
pnpm start
-
Run on your device
- iOS: Press
ior scan the QR code with the Camera app - Android: Press
aor scan the QR code with Expo Go - Web: Press
w
- iOS: Press
Run the test suite:
pnpm testAll unit tests cover:
- Data persistence and retrieval
- Streak calculation logic
- Question customization
- Timer functionality
- Calendar aggregation
eas build --platform ios --auto-submit- Framework: React Native 0.79 with Expo SDK 54
- Language: TypeScript 5.9
- Navigation: Expo Router 6 (file-based routing)
- Storage: AsyncStorage (local, offline-first)
- UI Components: Custom themed components with dark mode support
- Animations: react-native-reanimated 4.0
- Gestures: react-native-gesture-handler
- Audio: expo-av for meditation gongs
- Testing: Vitest
meditary/
├── app/ # Expo Router screens
│ ├── (tabs)/ # Tab navigation screens
│ │ ├── index.tsx # Home screen
│ │ ├── progress.tsx # Statistics and charts
│ │ ├── history.tsx # Calendar and entry list
│ │ └── settings.tsx # App settings
│ ├── timer.tsx # Meditation timer
│ ├── new-entry.tsx # Create journal entry
│ └── customize-questions.tsx
├── components/ # Reusable UI components
├── contexts/ # React Context providers
│ ├── data-context.tsx # Meditation data management
│ ├── language-context.tsx # i18n support (EN/PT)
│ └── theme-context.tsx # Dark/light mode
├── constants/ # App configuration
│ ├── data.ts # Data models and defaults
│ └── theme.ts # Colors and spacing
├── hooks/ # Custom React hooks
├── lib/ # Utility functions
├── assets/ # Images, icons, sounds
└── __tests__/ # Unit tests
Meditary supports:
- 🇺🇸 English
- 🇧🇷 Portuguese (Brazil)
Language is selected manually in the Settings screen (English or Português).
Contributions are welcome! This project was built to serve the meditation community.
This project is licensed under the MIT License - see the LICENSE file for details.
- Meditation Community: For inspiring this project
- Expo Team: For the excellent React Native framework
Vayulab - @vayulab - diego@vayulab.io
Project Link: https://github.com/vayulab/meditary
Built with ❤️ for the meditation community
May your practice be consistent and intense, and may your mind and spirit find the peace of the Self. 🧘♂️