Skip to content
Justin SilverTECHNOLOGY, TRAVEL & EVERYTHING IN BETWEEN
Libraries & Tools
Breathing practiceGitHub

Breath in Flow

Guided breathing with adjustable routines, animated timing, sound cues and offline voice guidance. Start with box breathing, coherent breathing, 4-7-8 or diaphragm training, then change the pace, holds, repetitions and sets. Session history, analytics and optional feeling check-ins stay on your device. The interface uses Vue and TypeScript, with Capacitor mobile projects and an Electron desktop shell.

Breath in Flow app icon, with sage green and gold curves on a dark background.

Start a breathing practice

  1. Choose a routine

    Choose a goal in Practice for a recommended routine, or open Presets to pick a starting point.

  2. Set the timing

    Configure practice lets you adjust inhale and exhale timing, add holds, and choose repetitions, sets and recovery breaks. Save a preset to repeat those settings.

  3. Follow the guide

    Start Practice and follow the moving guide, sound cues or bundled offline voice guidance. Pause or finish whenever you need.

  4. Review and back up

    Use History and Analytics to review sessions and hold-time charts. Data & support includes backup and restore.

Run the browser app locally

Use a Node.js version supported by the repository and the pnpm version pinned there through Corepack. Installation generates the Prisma client, and the development command builds the shared package before starting the app.

git clone https://github.com/doublesharp/breath-in-flow.git
cd breath-in-flow
corepack enable
pnpm install
pnpm dev

Phone and desktop setup

The local browser app opens at http://localhost:7080. Android development APKs are available as android-build artifacts from successful Build & Release workflow runs. iPhone setup uses a Mac, Xcode and an Apple account. Desktop packaging targets macOS, Windows and Linux. There are no published GitHub releases yet.

Local data and offline practice

There is no account or telemetry, and practice works offline. Routines and sessions use localStorage, while measurements use IndexedDB. A backend or database server is not needed to run the app. Export a backup through Data & support to keep a copy of your practice data.

Pulse Variability Lab

The Lab uses camera or motion input to explore pulse variability and breathing resonance. It is experimental, with physical-device validation still pending.

Why I built Breath in Flow

Read the announcement for the background and a walkthrough of the app.

Read the announcement

Explore the other libraries

Browse the other open-source libraries, apps and tools.

Libraries & Tools