Find calm.
Three session types to suit your practice:
- Breathe - Animated breathing circle guides inhale/exhale with customizable timing, optional background music, and affirmations
- Guided - Play meditation audio with circular progress tracking (bundled meditations or import your own)
- Music - Timed ambient music sessions with optional affirmations
Additional features:
- Customizable chimes, music, and meditations (see Custom Audio)
- Import audio from Files app or Apple Music library
- Haptic feedback on breath transitions
- Personalize affirmations with your own messages
- Guided breathing with animated circle
- Customizable session duration and breath timing
- Background sessions continue with wrist lowered
- Always-on display support
- Optional chimes and haptic feedback
![]() |
![]() |
![]() |
![]() |
| Start | Breathing | With Affirmation | Settings |
![]() |
![]() |
![]() |
| Start | Session | Settings |
![]() |
![]() |
![]() |
| Start | Session | Settings |
![]() |
| Customize your affirmations |
![]() |
![]() |
![]() |
| Start | Breathing | Settings |
- Clone the repository
- Open
Ovlo.xcodeprojin Xcode - Add audio files (see Custom Audio)
- Select your device as the destination
- Build and run
- Open Ovlo on your iPhone
- Select a session type: Breathe, Guided, or Music
- Tap the settings cog to adjust preferences for the selected mode
- Tap the play button to start
- For breathing sessions, follow the expanding/contracting circle
- Swipe up to complete early, or wait for the session to finish
- Open Ovlo on your Apple Watch
- Tap the settings cog to adjust duration, breath timing, and sound/vibrate preferences
- Tap the play button to start
- Follow the expanding/contracting circle - inhale as it grows, exhale as it shrinks
- Swipe up to complete early, or wait for the session to finish
Audio files are not included in the repository. To add your own:
Chimes (OvloPhone/Resources/Chimes/):
- Add your audio file (e.g.,
my-chime.mp3) - Add entry to
chimes.json:{"id": "my-chime", "title": "My Chime"}
Music tracks (OvloPhone/Resources/Music/):
- Add your audio file (e.g.,
peaceful-piano.mp3) - Add entry to
music.json:{"id": "peaceful-piano", "title": "Peaceful Piano"}
Guided meditations (OvloPhone/Resources/Meditations/):
- Add your audio file (e.g.,
body-scan.mp3) - Add entry to
meditations.json:{"id": "body-scan", "title": "Body Scan"}
Chimes (OvloWatch/Resources/Chimes/):
- Same pattern as iOS chimes
- The
idmust match the filename (without extension) - Supported formats:
.mp3,.wav,.m4a,.aiff,.caf - First entry in each JSON file is the default selection
- You can also import audio from the Files app or Apple Music library within the iOS app
- iOS 18.6 or later
- watchOS 11.6 or later
This project is licensed under the MIT License - see the LICENSE file for details.














