Get it on the App Store: https://apps.apple.com/us/app/divine-sound/id6766546701
Inspiration
Sound baths are having a moment, and so is astrology. Most apps in both spaces hand you the same pre-recorded track everyone else gets. We wanted to answer a more personal question: the sky was arranged a certain way the moment you arrived, so what does it sound like?
There is an old idea behind that question. Swiss mathematician Hans Cousto converted planetary orbits into audible tones by doubling their frequencies up into the hearing range. The Moon's 29.5-day orbit becomes 210.42 Hz. That gave us a real map from a birth chart to a set of pitches. What we needed next was an instrument worth playing them on, and we decided to build one.
What it does
DIVINE Sound reads the sky from the date, time, and place you were born and composes a sound bath from it, synthesized live on the phone. Nothing is pre-recorded, so no two sessions are quite the same.
- Your birth sound. Your Sun, Moon, and Rising become the three voices of your signature bath.
- Today's session. A fresh bath every morning from the day's sky, tuned against your own chart.
- Check-in ritual. Tell the app how you feel, where your body needs attention, and what you are reaching for, and it composes a session for that moment.
- Give it a voice. Speak what you want to release. The app listens to the tones in your voice and feeds the missing notes back into your sound.
- Felt through the phone. Body-sync haptics hum through your hands, a quiet 7.83 Hz earth pulse sits under every personal bath, and brainwave beats switch on automatically when you wear headphones.
- A library of crafted sessions for sleep, calm, focus, grief, courage, and gratitude, each listing exactly what is in the mix.
How we built it
ModalCore: a singing bowl built from physics
Our first engine stacked sine waves into a held drone. Our co-founder rejected it twice by ear: it sounded like "organ pedals held down." A real singing bowl is a struck object with a handful of inharmonic modes that bloom, beat against each other, and decay with the highs dying first. So we threw the drone out and wrote ModalCore, a physical modeling engine in pure Swift.
- Measured mode tables. Tibetan bowls ring at the ratios measured by Inacio et al. (2006): 1 : 2.83 : 5.42 : 8.77 : 12.87 : 17.71. The Big Bell uses twelve measured tower-bell partials (Hibbert, Fletcher and Rossing), with the hum outlasting everything else. Crystal is a near-pure fundamental with a faint glassy sheen, which took several listening passes to find.
- Struck mode. A mallet model with a real contact time (felt through wood) excites a bank of modal resonators, written as complex one-pole filters (Skare and Abel, DAFx-19). The decay lives inside each resonator, so a re-strike lands on a bowl that is still ringing, the way it does in a room. Strike position shifts the mode balance on every hit.
- Doublets and decay. Every mode is a pair of slightly detuned twins with different decay times, which gives the slow shimmer of a real bowl and lets it fade naturally. Decay depends on frequency, so a 220 Hz mode rings for about 40 seconds while a 4.4 kHz mode is gone in half a second.
- Sung rim mode. For the sustained voice, filtered noise excites the fundamental with a 3 to 7 second bloom and a rotating 4 to 8 Hz shimmer, like a mallet circling the rim. A session runs a sung bowl as the anchor and layers struck bowls over it, the way a practitioner plays a bath.
- A room to ring in. An 8-line feedback delay network reverb, translated from our own C++ audio toolkit, gives the bowls a space. Tails ring across phase changes instead of being cut.
How a chart becomes sound
Planet positions are computed on the device with SwiftAA (VSOP87 and ELP-2000/82B). Each of your three core placements sounds as its sign's ruling planet on the Cosmic Octave: a Gemini Sun plays Mercury at 141.27 Hz, a Sagittarius Moon plays Jupiter at 183.58 Hz. Longer baths go deeper. At 15 minutes your chart's defining aspects layer in, and at 45 minutes the whole chart joins as a soft blend. The one tense aspect in your chart starts detuned by a few hertz so you hear it beat, then resolves into consonance a little past the middle of the session. Every bowl pair is checked mode against mode within about 15 to 20 cents, so two planets never grind against each other.
Visual design and motion
The look is a quiet one: engraved-style illustrations on a warm paper texture, one named serif type scale, and twelve hand-painted night skies you can choose for your sound to live under. Motion follows the breath. Overlays arrive with a fade and a breath of scale rather than a slide, the player's breath circle paces guided breathwork, and in the check-in your spoken journal burns away on parchment before the next screen washes in. The burn's timing is pinned by a test so the handoff never shows a blank frame. Your reading ends in a keepsake frequency card you can save to Photos.
The by-ear loop
We built a companion macOS app, Bowl Lab, to tune each instrument live by ear. Every voicing constant in the engine cites its source, every listening verdict is logged in a running notes file, and a test suite pins the shipped mix so the lab and the app can never drift apart. Tibetan, Crystal, and Big Bell each shipped only after a listening session approved them.
RevenueCat monetization
Purchases run through the RevenueCat SDK with one entitlement, "Divine Sound Premium," unlocked by two auto-renewing plans: Yearly founding price, $55.99 and Weekly, $4.99. There is no intro trial. Everyone gets three free sessions, and the paywall arrives after the first bath, because hearing your own chart is the strongest argument we have. Prices and the yearly "save" badge come from the store's live localized prices, never hard-coded numbers. A customer-info stream keeps entitlement current across devices, and the free-session gate fails open until the store answers, so a paying customer is never locked out on a slow launch.
Challenges we ran into
- Making a synthesized bowl sound real. The listener's ear was the spec. The first engine was rejected twice, once for its held-drone sound and once for a 12.3 Hz beat collision between two bowls that our consonance checker had let through. We tightened the tuning tolerance from 72 cents to about 15 to 20 and started comparing every bowl pair mode by mode.
- Crystal. Exact integer harmonics made crystal sound like an organ buzz. Finding the glass took several rounds of listening.
- Licensing. Our first ephemeris library carried GPL and AGPL terms a closed-source paid app cannot ship. We swapped to SwiftAA, which is MIT licensed.
- Honest paywall math. A hand-written "save 73%" went wrong the same afternoon the weekly price changed. Every price and saving is now read from the store.
Accomplishments that we're proud of
- A physically modeled bowl engine running live on a phone, grounded in published acoustics measurements, with three instruments approved by ear.
- A sound bath that is actually yours, composed from your chart, your mood, and your voice.
- Sound you can feel, with haptics tuned per session and a haptics-only mode for silent moments.
- Live on the App Store since September 2, 2026.
What's next
- Return baths and daily transit baths on the same chart-to-bath composer.
- More instruments on ModalCore. The engine was written to be reusable, and we are growing it into a shared audio toolkit for our other apps.
- Tuning the free-session count and paywall timing from real subscriber behavior.
Log in or sign up for Devpost to join the conversation.