Reset
A pocket breathwork tool for the moment, not the practice. Four state-transitions, zero friction, no accounts.

00
Problem
Breathwork apps start from where they want users to be, not where users actually are: anxious, scattered, wired at 2am. No existing tool matches a technique to an emotional state in under 2 seconds and incorporates haptic guidance.
Solution
Four state-transition exercises (Nervous to Calm, Mad to Relaxed, Fuzzy to Sharp, Awake to Sleepy), three durations each, one tap to start. No accounts, no streaks, no notifications. On-device AI triage for the moments when the right mode isn't obvious.
Most breath apps are built around building a practice. Reset is built for the moment someone needs one, and to disappear after.
The gap
Breathwork apps split into two camps: clinical-but-generic (Headspace, Calm) or aspirational-but-vague (everything else). Neither starts from where the user actually is: angry, scattered, wired at 2am. Reset is built around emotional states, not sessions. Nobody opens it to "build a meditation habit." They open it because their jaw is tight and they need 60 seconds of something that works.
The whole product fits in one sentence: match a breathing technique to a specific state. Four state-transitions, three durations each, one tap to start.
Constraints worth shaping
These weren't limitations to work around. They were the product.
iPhone-only to start, no backend, no accounts. A tool reached for in 2 seconds shouldn't ask anyone to log in.
Free at launch, paid tier deferred. Every signup wall delays getting to the moment of use. v0.1.0 ships zero friction.
Built for 60-second sessions. A 60-second utility without any other bells and whistles or notifications users didn't ask for.
Privacy-first by design. No personal data leaves the device. The only thing the server ever sees is an optional anonymous thumbs-up or thumbs-down.
Four exercises only. Each one is built around a specific moment. Scope refused to creep, and the design got sharper for it.
Key decisions
Retro toolkit aesthetic, not wellness pastels
The design deliberately rejects soft gradients and round sans-serifs. Monospaced headers with // prefixes, terminal-window mode cards, pixel progress bars. The aesthetic signals tool, not therapy, to match the use case. People reach for it in a hard moment, not a calm one.
State-transition as the interaction model
Every exercise is a vector: Nervous → Calm; Mad → Relaxed; Fuzzy → Sharp; Awake → Sleepy. The language is directional, not instructional. Nobody is "starting a session." They're moving from one state to another.
Science baked in, invisible to the user
Haptics are tuned to vibration frequencies the body's pressure receptors respond to: 25Hz for parasympathetic engagement, 40Hz for activation. Spatial audio is matched per mode to the autonomic state being targeted. Users can control the intensity of each.
A/B tested before shipping
Across 10 mobile testers on Prolific, the grid layout cut average misclick rate from 78% to 36%. Four testers went from 70-95% misclick on the list view to 0% on the grid. Six of ten preferred the grid.
Built two home-screen paradigms (a swipeable list view and a 2x2 grid of mode cards) and ran a Prolific preference test on Maze before committing. The grid won across every metric:
List View | Grid View | |
|---|---|---|
Time to task: "You're nervous, start a 3m exercise to become calm" | 60% completed in 48s | 80% completed in 21s |
Ease of use (1 = impossible; 7 = super easy) | 40% rated 6+/7 | 80% rated 6+/7 |
Preference | 33% preferred | 67% preferred |
"I like that it separated each exercise into its own box rather than having them in a line one after another."
-- Tester, age 61
"I saw the nervous and calm sector. So this time it's easy to find the right button easily."
-- Tester, age 48
Qualitative data guided more improvements
The italic question copy was being read as the primary label instead of the headers describing the states. Header weight bumped, copy hierarchy fixed, shipped.
Direction over execution with AI
Claude Code wrote most of the Swift. I wrote the specs, made every architectural and product decision, drove every iteration. The product thesis, the aesthetic system, the interaction model, the research methodology, and every "ship this, not that" call are mine. The code is a product of that direction.
Designed for the moment, not the practice
Reset's AI triage is the secret feature, and the one that will guide the next rounds of iteration. For people who can't figure out which mode they need, describing the feeling in plain text routes the app on-device using NLEmbedding similarity. No cloud call, no LLM, no wait. Privacy-first, and faster than picking.
What launched
4 modes, 3 durations each for 12 deterministic experiences
Voice narration, breath countdown, and per-mode haptics, usable with eyes closed
Light, privacy-preserving AI that runs on-device: no cloud, no LLM call
Dark and light adaptive UI modes matched to the toolkit aesthetic
Anonymous feedback channel so data is never linked to a user
Zero accounts, zero notifications, zero streaks
What's next
Three horizons, prioritized by impact-to-effort.
Next: polish & sound
Voice input on describe mode. Speaking is usually easier than typing when someone actually needs a reset.
Atmos-mixed music. Newly arranged and recorded for spatial audio on AirPods Pro and Max.
Re-recorded narration. Warmer delivery, better pacing, tighter sync to the breath countdown.
Fixes and rough edges from the early reviews.
Soon: meeting people earlier
Siri Shortcuts, out of the box. "Hey Siri, I'm nervous" triggers a 1-minute Nervous to Calm. One per mode, no setup required.
iOS Home Screen widget. Four modes, one tap. Defaults to 1 minute, configurable per mode.
Bigger preset library for describe mode. More state-to-technique mappings so the match feels right more often.
Later: bigger bets
watchOS app. Wrist-first. Haptics on the wrist are more effective and less intrusive than on the phone, better suited to the moments people would actually use this.
Apple Health & Apple Watch. Proactive nudges from elevated heart rate or low HRV: "your body's a little activated, want a 1-minute reset?"
Oura. Same proactive-nudge model, pulled from readiness and stress signals.
Generative breathwork. For advanced users: pick technique, set ratio, choose length, save your own. Not the default experience, but available for people who want it.
Polish first because the model works. Then proactivity, because the best reset is the one someone reaches before opening the app. Then platform, because the wrist and bio-signals unlock the use case I want to build toward.
Currently live on App Store and resetkit.net.
see also







