
DingBit — Pavlovian Habit Building for iPhone & Apple Watch
A native iOS and Apple Watch app I built to make habits automatic through classical conditioning. You schedule a 'ding' for a small action — breathe, stretch, drink water — and when the sound fires you do the thing. Over enough repetitions the cue triggers the habit by itself. Built in Swift and SwiftUI with SwiftData for local-first storage, WatchConnectivity for equal-priority phone/watch sync, and StoreKit 2 for the freemium tier. Nothing leaves the device — no accounts, no cloud, no backend — so the conditioning loop stays reliable and private. Shipped to the App Store in April 2026.
Key features
- Schedule recurring 'dings' at custom intervals — the core conditioning cue with reliable delivery whether the app is open or backgrounded
- Equal-priority Apple Watch companion — complete a habit from the wrist and the delivered notification clears on the phone instantly, no iPhone required to log completions
- Interactive notification actions — 'Done' and 'In 5 mins' snooze directly from the lock screen without opening the app
- Per-habit reward sounds with AVAudioSession management — pick a different audio cue for each habit so the brain learns to associate each one distinctly
- Streak tracking and daily consistency view — a calendar heatmap and per-habit detail stats surface how well the conditioning is taking
- Freemium tier with StoreKit 2 — 3 habits free, unlimited on supporter, with a 7-day grace period before premium features revert after a lapsed subscription
- Local-first and account-free — everything persists via SwiftData on-device, no cloud, no sign-in, no analytics SDK, no data leaving the phone
- Haptic feedback integrated with the ding — on the watch the haptic arrives with the sound so the cue works even without audio
- Soft-prompt onboarding for notification permission — primes the user before the system dialog so a rushed tap doesn't permanently deny the app's core mechanic
Technologies
About the project
I initially created the app for my own personal use. During the workday, I often realized I was holding a lot of tension and not drinking enough water. So, to build better habits, I decided to experiment with a little Pavlovian conditioning using an iPhone and Apple Watch app. Just like Pavlov's dog that salivated every time it heard a bell, I thought I'd test the same concept on myself. By setting up notifications every 30 minutes, an hour, or more, the app uses a chime to remind me to relax or drink water.
While experimenting, I set up specific chimes on my phone and discovered I could set up to 8 different haptic feedbacks on the watch. The haptic feedback on the Apple Watch is especially discreet.
It's working out great for me!
The app is completely free, with just a few unlockable customizations in-app if you'd like to support the project (these aren't required to use the app; they are purely aesthetic).
I hope it can be as useful for you as it has been for me.
As always, any feedback or constructive criticism is highly appreciated. Let me know what you think!
