Support
Browse the FAQ below or send us a message — we reply within 2 business days.
Contact Us
Getting Started
Complete onboarding
Enter your name, experience level, and take the optional baseline breath-hold test so the app can calibrate your first training table.
Pick a table type
Go to the Train tab. Choose CO₂ (fixed hold, decreasing recovery), O₂ (increasing hold, fixed recovery), or build a Custom table.
Start your session
Tap Start Session, confirm the safety checklist, and follow the countdown ring. The app guides you through each round with haptics and audio cues.
Review your results
After the session, see a round-by-round breakdown. Check the Progress tab to watch your personal best climb over time.
Safety
Important Safety Notice
BreathHold Coach is designed for dry (out-of-water) training only. Please read before using the app:
- Never practise breath-holding in or near water without a trained safety diver present.
- Always train with a partner or let someone know you are training.
- Stop immediately if you feel dizzy, lightheaded, or experience chest pain.
- Never hyperventilate before a breath-hold — it is dangerous and can cause loss of consciousness.
- Consult a physician before beginning any breath-hold training programme.
The app displays a mandatory safety acknowledgement before every session. These warnings exist because shallow-water blackout is a serious risk even for experienced athletes.
Frequently Asked Questions
What is a CO₂ table?
A CO₂ table uses a fixed hold time with decreasing recovery periods between rounds. The goal is to train your body to tolerate carbon dioxide build-up, which delays the urge to breathe.
Example: 8 rounds of 1:30 hold with recovery starting at 2:30 and decreasing by 15 seconds each round.
What is an O₂ table?
An O₂ table uses an increasing hold time with a fixed recovery period between rounds. This progressively pushes your oxygen limits and builds raw breath-hold capacity.
Example: 8 rounds starting at 1:10 hold, increasing by 5 seconds per round, with 2:00 fixed recovery.
How does the app calibrate my training tables?
Tables are generated from your personal best (PB) and training level:
- CO₂ hold = 60% of PB (scales with tier)
- O₂ base hold = 50–75% of PB depending on level
- Recovery intervals scale down as your tier increases
The app tracks your performance across sessions. Two strong sessions in a row raises your intensity tier; two weak sessions steps it back. Tables grow with you automatically.
What does "bail" mean during a session?
Tapping Bail during a hold ends that round early. The app records your actual hold time and moves on to the recovery period. Bailing does not end the session — it continues to the next round. The session result shows your completion rate across all rounds.
Why isn't audio playing during my session?
The app uses iOS system sounds which are silenced by the ring/silent switch on the side of your iPhone. To hear audio cues, make sure the switch is set to ring mode (orange stripe hidden). Haptic feedback works independently of the silent switch and is always active.
How do I connect Apple Health?
Go to Settings tab → Apple Health → Connect Apple Health. Grant access to allow the app to read your resting heart rate and write completed sessions as workouts.
You can revoke access at any time in iPhone Settings → Privacy & Security → Health → BreathHold Coach.
How do I enable training reminders?
Go to Settings tab → Training Reminders → Enable Notifications. After granting permission, set your preferred reminder time. The app schedules a daily local notification — no internet connection is needed.
How do I reset my data or start fresh?
Go to Settings tab → Danger Zone → Reset All Data. This permanently deletes your profile, all session history, and resets onboarding. The action cannot be undone.
To also remove HealthKit data written by the app, open the Apple Health app → Browse → Activity → Workouts and delete the relevant entries manually.
My personal best didn't update after a session. Why?
Your personal best updates when you complete a hold that exceeds your current PB. If you bailed early on every round, no natural hold completion was recorded and the PB is not updated. Check the Session Result screen — a new PB is highlighted with a trophy badge.
Is my data backed up?
All data is stored locally using SwiftData on your device and is included in your standard iPhone backup via iCloud or iTunes/Finder, so data is preserved when you restore to a new device. Direct iCloud sync across multiple devices is planned for a future update.
The app requires iOS 17 — will it support older versions?
BreathHold Coach uses SwiftData and Swift Charts, both of which require iOS 17 or later. Supporting older versions would require a significant rewrite and is not currently planned.
Glossary
- CO₂ Table
- Training protocol with fixed hold duration and decreasing recovery periods. Builds CO₂ tolerance.
- O₂ Table
- Training protocol with increasing hold duration and fixed recovery periods. Builds oxygen efficiency.
- Personal Best (PB)
- Your longest successful breath-hold recorded in the app. Used to calibrate all training tables.
- Intensity Tier
- A 0–10 scale controlling how challenging your generated tables are. Increases automatically after consistent strong sessions.
- Breathe-Up
- A 10-second preparation period at the start of each round where you breathe normally before the hold begins.
- Bail
- Ending a hold early by tapping the Bail button. The session continues; the round is recorded with your actual hold time.
- Completion Rate
- The percentage of rounds where you met or exceeded 95% of the target hold duration.
- Streak
- Consecutive calendar days on which you completed at least one training session.
App Information
Version: 1.0.0
Requires: iOS 17.0 or later
Compatible with: iPhone
Developer: ISTACK DEVELOPMENT SRL
Contact: madalin@istack.ro