Inspiration
Most modern meditation apps have evolved into noisy, subscription-heavy platforms packed with social feeds, video feeds, and invasive analytics tracking. For people with an established, unguided practice like Transcendental Meditation or daily mantra meditation, these features are distractions rather than benefits.
After completing thousands of meditation sessions over the years, the need became obvious: a dedicated, quiet utility that gets out of the way, collects zero user data, and focuses purely on the sit.
What it does
Mantra Meditation Timer is a minimalist, privacy-first timer designed specifically for mantra and unguided meditation practitioners.
Key capabilities include:
- Distraction-Free Sits: Ready-to-use and custom timers that keep track of your sit quietly.
- Background Reliability: Runs seamlessly in the background even when your screen is locked.
- Respectful Audio: Start and end chimes engineered to respect your device Silent Mode settings.
- Local Reflection: Optional post-sit mood check-ins and session notes stored locally on your device.
- Consistency Tracking: Streaks, total session counters, and optional daily reminders.
- True Privacy: No account creation, no sign-ups, and zero analytics SDKs. On the free tier, no data ever leaves your device.
- Optional Mantra+ Upgrade: A one-time lifetime unlock that adds private iCloud sync, unlimited timers, rich notes, custom app themes, and milestone badges.
How I built it
Mantra Timer was engineered with a local-first philosophy to guarantee privacy, low power consumption, and speed:
- Native Frontend: Built using SwiftUI to deliver a fluid, native iOS feel with support for dynamic type and dark mode.
- Audio Engine: Custom AVFoundation configuration to manage start and end interval chimes smoothly across various audio route changes and hardware mute states.
- Local Persistence: Local storage handling session logs, notes, and streak calculations without needing an external web server or database.
- Private Sync: Apple CloudKit / iCloud integration for premium users, keeping multi-device data completely private to the user's personal Apple account without developer access.
Challenges I ran into
- Background Timer Execution: Mobile operating systems aggressively suspend inactive background apps to conserve battery. Ensuring precise interval chimes fire reliably when the phone is locked without constantly draining background power required careful background task and audio session tuning.
- Silent Switch Interaction: Ensuring the chime rings at the exact right volume level while respecting the hardware mute switch took extensive device-level testing across multiple system states.
- Resisting Feature Creep: The hardest design decision was knowing what to leave out. Every feature was scrutinized to ensure it would not clutter the interface or distract the user before a sit.
Accomplishments that I'm proud of
- Truly Zero Telemetry: Shipped a production app without a single third-party analytics or advertising SDK bundled in.
- Instant Utility: Zero onboarding screens, no email collection, and no setup friction. Users can open the app and start their sit within two seconds.
- Clean Architecture: Fast startup times and a tiny app binary footprint.
What I learned
Building minimalist software requires far more discipline than building feature-packed apps. When you remove guided content, animations, and social feeds, every single remaining element (typography, spacing, sound fidelity, and transition smoothness) must be executed cleanly. It also reinforced how much users appreciate local-first architecture and transparent one-time purchase models over endless recurring subscriptions.
What's next for Mantra Meditation Timer
- Apple Watch Companion: A standalone watch app so practitioners can meditate completely phone-free with subtle haptic tap intervals.
- Lock Screen and Home Screen Widgets: Quick-glance streak widgets and single-tap timer launch shortcuts.
- Additional Audio Chimes: A wider library of recorded Tibetan singing bowls, gongs, and woodblocks.
- Multi-Language Localisation: Translating the app interface into Italian, German, Spanish, and French.
Built With
- nextjs
- postgresql
