Free CO2 Tolerance & O2 Deprivation Apnea Table Generator

Generate custom CO2 tolerance and O2 deprivation apnea tables for freediving training. Improve breath-hold capacity with our free, browser-based timer.

Built by@Akhenaten

AI Generation Prompt

Free CO2 Tolerance & O2 Deprivation Apnea Table Generator

Overview

A clean, professional, browser-based utility for freedivers to generate structured breath-hold training sessions. The tool allows users to toggle between CO2 (fixed time, decreasing rest) and O2 (increasing time, fixed rest) table types, providing a visual countdown and step-by-step guidance for dry apnea training.

Technical Constraints & Directives

  • Single File: The entire application must be bundled into one HTML file, including CSS and JavaScript.
  • Storage Restrictions: NO localStorage, sessionStorage, or cookies. All application state (current step, timers, settings) must be handled in memory via JavaScript objects.
  • Iframe Compatibility: The app will reside in a sandboxed iframe. Do not use any features that require cross-origin communication, popups, or external persistent storage.
  • No Build Step: Use standard Vanilla JS, HTML5, and Tailwind CSS (via CDN) only.

Features

  • Table Configuration: Interactive inputs to set base breath-hold duration, rest duration, and number of cycles.
  • Dual-Mode Engine: Toggle between CO2 (fixed hold, decreasing rest) and O2 (increasing hold, fixed rest) logic.
  • Interactive Timer: A large, high-visibility countdown timer that tracks the current phase (Inhale, Hold, Exhale/Rest).
  • Progress Visualizer: A sidebar or bottom-sheet view showing the full sequence, highlighting the 'current' step in the progression.
  • Audio Cues: Use the Web Audio API to play gentle, non-intrusive pings for phase transitions (start hold, end hold).
  • Responsive Design: Mobile-first approach where the timer is the dominant element on small screens.

UI/UX Specification

  • Color Palette: Professional SaaS aesthetic: White backgrounds (#ffffff), soft neutral grays for borders (#e5e7eb), and a calming primary blue (#3b82f6) for active timer elements.
  • Typography: Sans-serif, clean font (e.g., Inter or system UI stacks).
  • Transitions: Use CSS transition properties for all UI changes. The timer should pulse softly when active. When switching steps, the table list should scroll to the active element.
  • Layout:
    • Header: Simple title and brief safety disclaimer.
    • Main: Central card containing the circular countdown timer and primary action buttons (Start, Pause, Reset).
    • Table View: Below the timer, a list showing all steps in the current table, with the current step clearly indicated using an active class (bold font, blue border).

Developer Instructions

  1. Use tailwind.min.css via CDN for styling.
  2. Ensure all text links use target="_blank" and rel="noopener noreferrer".
  3. Replace alert() or prompt() with custom DOM-based modal elements within the file if user interaction is needed.
  4. Ensure the timer is accurate by using requestAnimationFrame or performance.now() for tracking elapsed time to minimize drift.

Spread the word

2Total Views
gemini-3.0-flashAI Model

Files being used

index.html
12.4 KB
#freediving apnea table generator#CO2 tolerance training app#O2 deprivation breath hold trainer#free breath hold calculator#apnea training tables#freediving breath hold timer

Frequently Asked Questions

Everything you need to know about using this application.

What is a CO2 tolerance table and how does it help freedivers?

A CO2 tolerance table is a specific type of breath-hold training designed to help the body adapt to higher levels of carbon dioxide in the blood. By utilizing fixed breath-hold durations while progressively decreasing rest intervals between holds, the diver forces their body to become more efficient at handling hypercapnia, which is the primary urge to breathe. Regular practice with these tables helps delay the onset of diaphragm contractions, allowing the diver to remain relaxed for longer periods during actual dives. This mental and physical adaptation is crucial for improving overall breath-hold capacity and comfort underwater.

How does an O2 deprivation table differ from a CO2 table?

While CO2 tables focus on adapting to the urge to breathe, O2 deprivation tables focus on the body's ability to function and maintain consciousness with lower oxygen levels. These tables typically involve increasing the duration of the breath-holds while maintaining consistent or decreasing rest periods, effectively training the body to manage hypoxia. O2 tables are considered more advanced than CO2 tables and should be approached with caution. They are designed to expand the diver's aerobic limit, whereas CO2 tables are designed to improve the diver's tolerance to the chemical triggers that initiate the breathing cycle.

Is this tool safe for conducting underwater breath-hold training?

This tool is strictly for land-based training or for tracking dry apnea sessions. Under no circumstances should you use this or any timing application to perform breath-hold exercises in a swimming pool, bathtub, or any open body of water while alone. Shallow water blackout is a significant risk that can lead to drowning. Always practice breath-hold training in a safe, dry environment and preferably with a trained buddy present who understands rescue protocols. Your safety is paramount, and these digital tools are intended to assist your training structure, not to monitor or guarantee physiological safety during diving.

Do I need to create an account to save my training tables?

This application does not require an account and does not utilize any persistent storage mechanisms like cookies or local storage. Because the tool operates entirely in your browser's volatile memory, any tables or progress you generate will be reset if you refresh or close the page. This architecture is chosen to ensure maximum privacy and instant accessibility for all users. If you need to keep a record of your training, we recommend taking a screenshot of your generated table or manually noting your progress in a physical training logbook after your session.

Related Applications