ELEMENT | 08 app icon

ELEMENT | 08

Freediving Performance System

Build custom breath hold and breathwork sessions, track your SpO2 with a Bluetooth oximeter, import dive computer logs, and analyze your performance over time.

5
THEMES
4
VOICES
20+
GUIDED_SESSIONS
BLE
OXIMETER
// FEATURES
// 01
Free Session Builder
CO2 and O2 tables, breathwork mode, custom rest/hold/recover blocks with full audio announcements.
// 02
Logbook
Every session saved with SpO2/HR charts, block timeline, contractions, and personal notes. Import dive logs from several dive computer brands.
// 03
Training Plans & Season Planning
Follow structured programs from beginner to advanced, or build your own season plan with periodized phases for competition prep.
// 04
Insights & Analytics
Hold time trends, depth bands, SpO2 exposure zones, and live SpO2, HR, and PI readings via Bluetooth oximeter. Detailed analysis after every session.
// WEB ANALYZER
Companion tool
Analyze your data in the browser

Export a backup from the app, drop the file into the web analyzer, and explore your training across seasons: cross-cut by mode, build custom charts, compare dives side by side. Runs entirely in your browser. Your data never leaves your machine.

analyze.element08.io ↗
// FOR COACHES

Build training plans in your spreadsheet, share them with students as a single file. Students import in one tap. No accounts. No subscriptions. Imported plans show "Imported from {your name}" and the author field is locked once you export.

Open in Numbers, Excel, or Google Sheets. Each row is one exercise: fill the Phase / Week / Session columns on the first row, then add exercise rows below leaving those blank to keep them in the same session. Dropdowns guide you through valid values. When you're done, just send the .xlsx file to your student, no CSV export needed. They tap ↓ Import Plan from File in the Plans screen and pick it. Validation surfaces every issue at once so you can fix and re-send in one pass.

// PREVIEW
Live session with oximeter
Live Session
Dive detail with depth profile
Dive Detail
Session builder
Session Builder
Insights and analytics
Insights
Your Path training plan
Your Path
Training log
Training Log
Hold detail with SpO2 chart
Hold Detail
Season plan
Season Plan
// ROADMAP

App plus dedicated hardware, built to work together. Here is where each part of the system stands today.

App

Closed Beta

Training, logbook, analytics, and dive-computer import.

EQ Tool

Prototype 90%

A dedicated equalization trainer.

Depth & Pool Computer

Design

Wearable dive tracking built for freedivers.

Oximeter

Planning

Live blood-oxygen and heart rate during breath-hold.

PLANNING → DESIGN → PROTOTYPE → BETA → RELEASED

// FAQ
Which oximeters does the app support?

ELEMENT | 08 talks to any device that speaks the standard Bluetooth Heart Rate Service (0x180D) for HR alone, or the standard PLX Continuous / Spot-Check service (0x1822) for SpO2 + HR.

On top of the standards, custom framings are supported for: BerryMed, Nonin 3230, Viatom / Wellue / CheckMe, the Masimo MightySat, and Nordic UART devices including BCI and Viatom PF-10AW / Vibeat. A HealthTree framing is also handled.

If your device is not on the list, the BLE Analyzer (next question) will usually still pick it up automatically by trying every known parser against the incoming frames.

What can I do if my oximeter is not recognized?

Open Settings → Devices → BLE Analyzer, switch on your oximeter, and tap Scan Device. The analyzer captures every notify characteristic the device advertises and runs every known parser against the live frames.

After a few seconds tap Share Scan List and send it to support. Many of the formats above were added this way.

Which dive computers are supported?

FIT import covers the Garmin Descent family (G1, G2, Mk1, Mk3, Mk3i). Suunto is supported via both FIT and the older SML (DM5) export, so D4i and D6i both work. Shearwater and Oceanic computers are expected to work via UDDF but this path is currently untested, so get in touch if you have one to try. A generic dive-computer CSV import is also available for anything else with a time + depth column.

Can I import my existing dive history in bulk?

Each file is imported one at a time today. The good news: a single FIT / SML / UDDF file can carry multiple sessions, and the parser will expand them into separate logbook entries.

From Garmin Connect you can either export individual activities (one .fit each) or request the full account data export and import each .fit from the unzipped archive. Multi-file selection is on the roadmap.

Where is my data stored, and is it private?

All of it stays on your device. Your dives, holds, SpO2 traces, plans, and notes are never uploaded to any ELEMENT | 08 server. The only network traffic the app makes is to RevenueCat (to check your subscription state when you open the paywall) and to Expo (to fetch over-the-air JS updates).

Backups go where you send them: Files, AirDrop, email, or your own cloud of choice. See the full Privacy Policy for the exact list.

Do I need a Bluetooth oximeter to use the app?

No. The breath-hold timer, custom tables, breathwork, guided sessions, season plans, and dive-computer logbook all work without any BLE hardware. An oximeter adds live SpO2, heart rate, and PI to the session timeline and unlocks post-session SpO2 analysis. Everything else is unaffected.

How is a hang detected on a depth profile?

A hang is a stationary segment in the depth profile where you hold depth. A sliding window scans the profile and a sample only counts as stationary if (a) it does not jump suddenly relative to the previous sample, (b) the depth range inside the window stays under the wave-oscillation tolerance, and (c) the linear slope through the window is close to zero.

Short stationary runs during a continuous ascent or descent are kick-glide rhythm and are dropped automatically. Only directional turnarounds (descent into the run, ascent out of it, or vice versa) are kept. A hang whose average depth is within 2 m of your deepest point is classified as a bottom hang; everything else is an off-bottom hang. Phase times (descent, hang, ascent) are split on the first and last detected hang.

What is the pool dive merge function?

Sometimes a long pool attempt surfaces briefly mid-attempt and the watch splits it into two consecutive dives. The merge function combines them back into a single continuous record.

Open the session, pick a dive, and choose Merge with next. The surface interval between the two becomes part of the total dive time. Distance and lap times concatenate; contractions are time-shifted into the merged timeline; HR is linearly interpolated across the break so the chart stays coherent. The original dives' metadata follows the first dive (discipline, lung volume, rating, remarks).

Is the app free?

The core app is free, with no mandatory subscription. Optional Pro features unlock advanced analytics, additional custom training programs, and the full guided-session library. You can train seriously on the free tier.

Is it safe to do breath-hold training at home with the app?

Dry breath-hold training (sitting still, no water) can be done at home and is what the timer, tables, and breathwork modes are built for. Even so, do not push to your absolute limits on dry without a buddy present.

Never train in or near water alone. Breath-hold training in water carries real risks including blackout, and always requires a trained buddy supervising you directly at arm's length. ELEMENT | 08 supports your training. It does not replace certified instruction or medical advice.

Full list of contraindications and safety guidance: Safety & Contraindications.

// DOWNLOAD

Now on the App Store. Google Play in closed testing.