varia
a breathing practice where you watch your heart answer your breath. made for anyone who's found meditation hard.
why i built it
I spent twelve years building mental health apps: mindfulness, biofeedback, CBT. By the end I was disenchanted. It felt like nothing on a phone could really help you, and the kindest thing an app could do was encourage you to put your phone down.
What pulled me back is a different idea of what technology can be: something that serves you instead of holding on to you. A partner for a while, that teaches you something real and then lets you go.
Most tools track your stress. I wanted to flip that: show you your calm, so you learn what it feels like and can find it again on your own.
what it is
Varia Sessions is a practice for learning what calm feels like in your body. You breathe slowly and watch your heart answer. With a heart rate sensor, a visualization grows more beautiful as your heart responds with higher variability: nothing to read, just something to watch while you breathe. Without one, a pacer leads your breath, or your phone listens to it and answers in sound.
Bring your own device: Varia works with the heart rate sensor you may already have, whether that's a chest strap, an arm band, or a watch that broadcasts your heart rate.
The path ends away from the screen. The point is to take the feeling with you: into a hard conversation, a big game, a long day.
It's built to feel spacious from the moment you open it. Quiet screens, no streaks, no badges, nothing asking for more of your time.
Varia Sessions is the first product from The Autonomic Lab, my company.


how it's built
- typescript
- expo
- react native
- bluetooth le
- canvas 2d
- cloudflare workers
- hono
- postgres
It is one TypeScript codebase: an app for iPhone and Android, the visualizations as a single canvas runtime that draws the same on every screen, and an API on Cloudflare Workers in front of Postgres. The phone reads every heartbeat from a Bluetooth heart rate sensor, and a session works start to finish with no signal at all.
- heart rate sensor to phone app: every beat
- phone app to visualizations: live
- visualizations to every screen: one spec
- phone app to outbox: each session
- outbox to api: when online
- api to postgres
what's next
pre-launch. beta testers on varia.app.