Offline PWA · Live

Lever.

Two breathing protocols, one offline-capable page. Physiological sigh to calm down, cyclic hyperventilation to charge up. Pick one.

Try it live ↗
physiological sigh
The orb is the whole interface — watch it to learn the rhythm. Two inhales, one long exhale for calm; rapid pulses then a still, glowing hold for charge.
The breathing orb, running the real session rhythm. Tap Calm or Charge.

Lever is two protocols and one decision: closer to a flashlight than a journal. Built for someone who already knows the science and needs a tool that gets out of the way. Most breathing apps pile on twenty techniques, mood tracking, streaks, and a paywall. The stripped-down timers never teach the rhythm either. This does neither.

46 KBthe entire app — one HTML file, no build
2protocols; the whole surface, forever
0accounts, trackers, or subscriptions
PWAinstallable, runs offline and fullscreen
01What it does

Calm, or charge.

Calm — physiological sigh — two inhales through the nose, one long exhale through the mouth. For acute stress, before sleep, between meetings.
Charge — cyclic hyperventilation — 20 deep breaths, exhale fully, hold lungs-empty as long as comfortable, recovery breath. For morning alertness, pre-workout, low energy.
Quick sigh — three physiological sighs, 30 seconds. Right now, in pocket, no thinking.

Two cards on the home screen plus the Quick Sigh shortcut. That's the entire surface outside the session screens.

02Restraint

Why only two.

The hard part wasn't what to build — it was what to refuse. Each of these was considered and left out on purpose; each would pull the tool back toward the bloated apps it exists to replace:

No streaks, badges, or gamification
No social features or sharing
No extra techniques — no box breathing, 4-7-8, alternate nostril
No journaling, mood logging, content library, or AI chatbot
No accounts, sync, subscription, or push notifications

Anyone can clone the protocols. Almost no one has the discipline to ship a breathing app with only two of them. The discipline of not shipping the rest is the product.

03The build

One file, ~46 KB, runs offline.

One file
A single ~46 KB HTML file — no build step, no bundler, no framework.
Vanilla
Plain JS, CSS transitions, inline SVG — no dependencies beyond Google Fonts.
Offline · PWA
Offline-capable once loaded; Add to Home Screen runs fullscreen.
iOS audio
Primes AudioContext on a user gesture so Safari’s autoplay rule doesn’t kill the phase tones.
iOS haptics
Uses the checkbox-switch trick (Safari 17.4+), since Safari has no Vibration API.
Wake Lock
Keeps the screen on through a whole session.

The interesting work is in the platform edge cases. iOS audio, haptics, and wake-lock handling are exactly the "make it actually work on the user's device" details that separate a shipped tool from a demo.

See it live ↗
← All work