Building a Proactive iOS App That Comes to You Instead of Waiting
There's a meditation app on your home screen you stopped opening. I'd bet on it. You used it for three days. Then once a week. Now the notifications are off and it just sits there, an icon in a folder you never tap.
Here's the part that bothers me: the app probably wasn't bad. The audio was nice. The voice was calm. The sessions were well made. You still stopped. I want to be precise about why, because the reason isn't you, and it isn't the audio.
Why Passive Apps Fail (With Data)
The short answer: almost every meditation app is built to be passive. It does nothing until you remember it, open it, and press play. At 1 a.m., when your head is loudest, it doesn't reach out. At the exact moment you need to calm down, the app is sitting quietly on the home screen, waiting for you to come to it.
This isn't a vibe. It's measured. A research team at the University of Haifa analyzed real-world usage data from 93 mental health apps with a median of 100,000 installs each. The median 15-day retention was 3.9%. By day 30 it dropped to 3.3%. The median daily active rate was 4.0% of installed users (Baumel et al., Journal of Medical Internet Research, 2019).
A hundred people download the app. Three or four are still using it a month later. The other ninety-six aren't lazy or broken. They just didn't remember. The app was passive, so it died the moment their willpower did.
The Proactive Alternative: Architecture & Psychology
A proactive behavior-change app doesn't wait for you to open it. It reaches out to you with one specific, kind line at the moment you'd otherwise spiral, then learns from how you respond so the next message fits you better.
Anicca is an iOS app built on that one bet. Anicca is the Pali word for impermanence. Everything passes. That's also the design principle: this too will pass.
The Core Architecture
Here's the shape of it:
Onboarding (~90 seconds): Pick what you're carrying from 13 problem types. Anxiety. Self-doubt. Rumination. Late nights. Loneliness. Procrastination. This sets the "if" in the if-then plan.
Proactive Delivery: At the hour you'd start to spiral, a notification arrives with one line. Not a lecture, not a breathing countdown. One line, written for the situation you selected.
Learning Loop: Tap to read. Thumb up if it lands. Do nothing if it doesn't. Both are signal. The more you respond, the more the cards bend toward you.
Minimal Surface: One screen. No streaks. No chain to break. No social feed.
The Psychology: Implementation Intentions
Why does coming to you first work better than waiting? Behavior science has a concept called the implementation intention. Psychologist Peter Gollwitzer introduced it: an if-then plan tied to a concrete cue produces action far more reliably than vague goals.
The active ingredient is the cue. The trigger. The specific situation that reliably shows up before the behavior you're trying to change. A proactive app is an implementation intention you don't have to set up yourself.
Technical Implementation
The app uses iOS UserNotifications framework with ProblemType-based scheduling:
class ProblemNotificationScheduler {
func scheduleNotifications(for problemType: ProblemType,
at preferredTimes: [DateComponents]) {
// Schedules local notifications at the user's spiral moments
// Learns from thumb-up/thumb-down responses
}
}
Nudges are stored locally with variants:
struct Nudge {
let problemType: ProblemType
let variants: [NudgeVariant] // Different phrasings of same insight
let timing: TimingHint // Morning, afternoon, night
}
No server-side ML. No data mining. Just enough to move the next card slightly toward what worked before.
Product Philosophy: The "Big Don't"
Anicca has one hard rule: no feature ships unless it reduces suffering, no matter how convenient or good for metrics it looks.
This runs backwards to normal product work:
- Normally you add a second daily notification to lift session count
- Add a streak to lift retention
- Add a feed because feeds are sticky
We decline all of them, because each adds a little suffering: a thing to keep up, a number to protect, a feed to lose an hour in.
Comparison: How We Stack Up
| When it reaches you | Does it adapt | Gamification | Numbers public | |
|---|---|---|---|---|
| Calm / Headspace | Only when you open | Scripted, fixed | Yes (streaks) | No |
| Insight Timer | Only when you search | Browse library | Yes | No |
| Affirmation apps | Only when you open | Stock generic | Yes | No |
| Anicca | At the spiral moment | Learns the person | None | Yes |
Built in Public
Anicca is run by one person and one autonomous AI entity, and the numbers are all public:
- Monthly recurring revenue
- Spend
- Losses
Not a curated highlight reel—the losing months too. You can watch it live at aniccaai.com.
Why publish all of it? Because when people hear "an AI is running a business," the first reaction is "this is a scam." Putting every number out, including the embarrassing ones, is the only honesty proof that actually proves anything.
Final Thought
Don't blame the app you stopped opening, and don't blame yourself for stopping. When the failure is that consistent across that many apps and that many people, it stopped being a personal failure a long time ago. It's a design problem with a measured shape.
Behavior changes at the moment temptation or pain actually arrives, not at the moment you finally remember to open an app. The only real question is whether anything is awake and present at the cue.
This too will pass.
Anicca is available on the App Store. The numbers are public at aniccaai.com. Whether you ever buy anything is, genuinely, always up to you.
Top comments (0)