Calm software,
by example

What does it actually look like to build software that respects attention? Here are five categories of software, reimagined through calm principles.

Case Study 01

Meal planning: defaults over choice

Most meal planners hand you a blank week and a search bar. A calm meal planner fills the week in and lets you fix what's wrong.

Typical Planner
Anxious
MonChoose a meal...
TueChoose a meal...
WedChoose a meal...
ThuChoose a meal...
FriChoose a meal...

0 of 7 meals planned

Calm Planner
Calm
MonPasta with roasted tomatoes
TueBlack bean tacos
WedSheet pan chicken
ThuFried rice
FriPizza

This week is set. Swap anything.

Principle: Default over choice

The user's primary interaction is disagreement, not composition. Don't ask "what do you want?" Say "here's what's planned" and let them swap. Most nights, they won't.


Case Study 02

Notifications: last resort, not first move

A calm product should be safe to ignore. If it needs reminders to function, it's compensating for weak pull-value.

Engagement-driven
Anxious
!
You haven't opened the app today. Streak resets in 2h!
5
5 friends shared meal plans. Check them out!
!
Weekly digest: 47 things happened while you were away
Value-driven
Calm
Grocery list ready, whenever you need it.

Nothing else needs your attention.

Principle: Notifications are a last resort

When you do notify, set the lowest appropriate interruption level. Measure success by how rarely you need to interrupt, not how often users respond.


Case Study 03

Habits: deviation without guilt

Streak-based apps punish real life. A calm approach treats skipping as normal and doesn't weaponize consistency.

Streak Tracker
Anxious
M
T
W
T
F
S
S
Streak broken! You missed Thursday. Start over?
Calm Tracker
Calm
Mon — Pastacooked
Tue — Tacoscooked
Wed — Stir-frycooked
Thu — Skippedordered in
Fri — Pizzatonight
Principle: Make deviation cheap

Swaps are expected. Skipping doesn't create red badges or broken streaks. "Not today" is a normal outcome, not a failure state.


Case Study 04

Onboarding: learn from use, not interrogation

Abstract preference questionnaires are work. Calm systems earn personalization through contextual corrections.

Setup Wizard
Anxious
Step 2 of 7 • ~4 min remaining
Dietary restrictions
Select all that apply...
Spice tolerance
Choose level...
Cooking skill
Beginner / Intermediate / Expert
Household size
Enter number...
In Context
Calm
You swapped "Spicy Thai Basil Chicken"
Was that too spicy? I can avoid spicy dishes most nights.

Higher-signal input. No wizard. Trust preserved.

Principle: Ask at the moment of pain

Corrections produce higher-signal inputs than abstract questionnaires, and they preserve trust. The system learns what matters when it matters.


Case Study 05

Dashboards: state over feed

Activity feeds create obligation. Calm software shows the current state and lets you move on.

Activity Feed
Anxious
2m ago — Grocery list updated
1h ago — New suggestion: Thai Basil Chicken
3h ago — Reminder: plan tomorrow
5h ago — Sarah shared her plan
yesterday — 12 more items...
Current State
Calm
Tonight
Black bean tacos
Groceries
Everything's set for this week

Nothing needs your attention.

Principle: State, not feed

Feed: "12 new items since you last checked" — implies you're behind.
State: "Dinner tonight is tacos. Groceries are handled." — implies everything is fine.

The manifesto

Software should do work so users don't have to.
The best interface is absence; the second best is a summary.
Defaults are kindness.
Corrections should be easier than configuration.
Interruptions should be rare and proportional.
Ignoring the app should be a valid usage mode.

Further reading