0.1.0 · pre-release · iOS 26.4 · one-time purchase

Log your lifts.
Own your data.

A workout tracker that's fast enough for mid-set brain fog, rigorous enough for the Sunday-morning data review, and honest enough to let you leave with every row. Plate buttons, a Dynamic Island rest timer that doesn't drift when you lock your phone, and an Analysis tab that takes the charts seriously.

Local-first storage· On-device AI· CSV & JSON export· No subscription required
Local-first
Your data lives on your device in SwiftData. No proprietary cloud holding your training history hostage.
On-device AI
Weekly insight summaries via Apple's FoundationModels framework. Zero server calls.
Apple-native
SwiftUI, SwiftData, HealthKit, Liquid Glass. Live Activities for the Dynamic Island. No bridges.
No ads, ever
No ad networks. No tracking SDKs. Export your data any time in CSV or JSON — no paywall on the door.

What flexLog is about

Three things we are not willing to compromise on.

01

Fast when your brain isn't

You're not thinking clearly mid-set, and the app shouldn't ask you to. Plate buttons big enough to hit with chalky thumbs, sticky pre-fill from your last set, and a picker that already knows your top ten lifts. The rest timer auto-starts in the Dynamic Island, so you can lock your phone and let the little bar do the waiting.

02

Your data, in your name

CSV with 20+ columns. JSON with the full schema. Both free, both generated off the main thread, both delivered through ShareLink. Every set ships with its gym, its machine, its set type, and its notes. If you ever leave flexLog, you leave with everything — no paywall, no missing columns, no "export coming soon."

03

Built for iOS on purpose

SwiftUI, SwiftData, HealthKit, Liquid Glass. Live Activities that put your rest timer in the Dynamic Island and stay there. On-device AI via Apple's FoundationModels. No React Native cosplay, no abstraction layer, no waiting on someone else's bridge.

Who it's for

Whichever kind of obsessive you are.

flexLog is built for lifters who take training seriously and for the kind of people who want Epley iso-lines on their weight × reps scatter. Often that's the same person.

01 / 02

For the people who actually lift

Fast enough to use mid-set. Quiet enough to ignore between them.

You want to load the bar, hit the button, and get back to the work. The app should move at your pace, not make you move at its.

  • Plate buttons in lb or kg, sized for chalky thumbs
  • Sticky pre-fill — your last weight is already waiting
  • Rest timer in the Dynamic Island, visible from the Lock Screen
  • PR celebration that flashes, nods, and steps aside
  • Three gyms? Plate increments and bar weight travel with you
  • Works in basements with zero bars of signal
02 / 02

For the people who read their own data

The charts you'd build in a spreadsheet, already built.

You want the math visible, the assumptions labeled, and the export clean enough that you can pivot it six ways before breakfast.

  • Fractional-set counting on the muscle heatmap (Schoenfeld-style)
  • 11-axis balance radar drawn on Canvas, not imported from a chart kit
  • Rep-range drift over 16 weeks — watch your philosophy migrate
  • Epley iso-lines on your weight × reps scatter, because estimators should show their work
  • CSV with 20+ columns, JSON with the full schema, both unlocked
  • Everything lives in SwiftData on device — no cloud holds the numbers

If you're both: the app does not make you choose a side. Simple surface, power underneath.

Features

Fast to log. Easy to read. Yours to export.

Every feature earns its place by removing taps, surfacing patterns, or protecting your data. Here are nine of the 19 shipped in the pre-release — the rest are on the features page.

Logging

Plate button entry

Calculator-style +45 / +25 / +10 / +5 (or kg equivalents) plus a full keypad. Both modes share the same 48pt display — readable from arm's length with a bar in your other hand.

Log a set in under three seconds without opening a keyboard.

Logging

Exercise picker with most-used sort

873 seed exercises with aliases and equipment metadata, six muscle-group chips, seven equipment chips, a recent list, and duplicate detection on custom exercises.

Your go-to lifts float to the top of the list automatically.

Logging

Rest timer in the Dynamic Island

Stores an absolute end time, not a relative countdown — so it survives backgrounding, screen locks, and app switches without drifting. Compact pill in the Island, expanded view with a skip button, visible on the Lock Screen for up to 12 minutes.

Your timer keeps running even when your phone is in your pocket.

Logging

Set types

Color-coded chips for Warmup, Working, Top Set, and Drop sets. Available but never required.

Your history shows exactly what kind of work each set was.

Logging

Tap to edit & undo

Any logged set is editable with a tap. Deletes use an 8-second undo banner.

Fix a mistake without losing your flow.

Logging

Personal records

Automatic PR detection with inline celebration and a haptic pulse you can actually feel through a chalked-up hand. A soft ambient orange glow behind the weight display when you're in territory you've never hit before.

You never miss a PR — the app notices before you do.

Programming

Routines

Drag-to-reorder exercises, target sets and reps and weights per lift, in-workout guidance, deviation tracking, and save-as-routine from any completed workout.

Follow a program Monday, freestyle Wednesday — in the same app.

Programming

Workout summary

End-of-session recap with duration, total volume, PRs flagged, and one-tap save-as-routine.

Every workout gets a closing moment with your stats.

Places

Places & gym management

Address-book-style gym profiles with address autocomplete, contacts import, embedded map, geofence, and per-gym equipment preferences (plates, bar weight, machines).

Plate increments and bar weight adjust automatically when you switch gyms.

How it fits into a week

Five sessions. One app. Zero ceremony.

The morning gym session

Open the app, tap your exercise, log each set with plate buttons, let the rest timer count down in the Dynamic Island while you re-rack. After your last set, the summary shows total volume, duration, and any PRs. Under two minutes in the app across a 75-minute session.

Following a program with deviations

Load a Push Day routine, swap dumbbell incline for barbell when the bench is taken, keep going. The guidance banner tracks your progress and marks the swap. If you liked the change, save the workout as a new routine from the summary screen with one tap.

Hotel gym detour

Add the hotel to Places as a temporary gym — lighter dumbbells, no barbell, a cable machine. Log a session tagged to that location. When you get home, your PRs and working weights resume exactly where you left off.

Weekly review

Open Insights on Sunday. Volume trend is up 8% over last month; the heatmap confirms four sessions a week for three weeks running. An AI insight card notes squat volume has plateaued and suggests a variation. You act on it or you don't.

Exporting to a spreadsheet

Tap the export menu in History, pick CSV. ShareLink hands you the file. Every set you have ever logged — date, exercise, weight in kilograms, reps, gym name, set type, RPE — goes with you. No paywall, no missing columns, no vendor lock-in.

Pricing

One purchase for the app. A subscription for the servers, and only if you want them.

Paying a recurring fee for a tool that records numbers has always felt a bit off. Core is a one-time buy for every on-device feature. Pro is a low-cost opt-in for the things that genuinely need a server — cloud sync, cross-device backup, the Apple Watch app when it ships — and you can skip it forever if you want.

Free
A real tier, not a trial.
Free

Full logging for three exercises with no time limit. Everything else about the app — the rest timer, Liquid Glass, Places, the insights dashboard — works as shipped.

  • Full logging for 3 exercises, no time limit
  • Rest timer, set types, PRs, and tap-to-edit
  • Routines, Places, workout summaries
  • CSV and JSON export with no paywall
The whole app
Core
One-time purchase. On-device forever.
~$4.99

Unlocks unlimited exercises. Covers everything on-device — history, insights, AI, routines, body tracking. No subscription.

  • Everything in Free, without the 3-exercise cap
  • Unlimited routines and body measurements
  • On-device AI weekly insights (Apple Intelligence hardware)
  • No ads, no tracking SDKs, no subscription required
Pro
Optional. For the server-backed stuff only.
~$0.99/mo · $9.99/yr

A low-cost subscription for features that genuinely need a server or a second device. Every on-device feature stays in Core. Pro is opt-in and skippable.

  • CloudKit sync across your devices
  • Cloud backup and restore
  • Apple Watch app (shipping in v1.2)
  • Competitor data import (Strong, Hevy, StrongLifts, FitNotes, Alpha Progression)
  • Never required for logging, export, or insights

No ads, ever. No third-party analytics. Cloud sync uses your personal iCloud account, not a third-party server.

Next up

Ship-ready polish — v1.0, Summer 2026.

The pre-release is about getting logging right. Then v1.0 wires up the platform it's been politely waiting for: HealthKit with real per-exercise metadata, offline-first CloudKit sync that never shows you a spinner mid-set, a hardened export with a custom .flexlog backup, and App Intents so Siri, Control Center, and the Action Button all know how to start a workout.

See the full roadmap →
  • HealthKit integration

    Workouts write to Apple Health with per-exercise metadata — exercise name, sets, reps, and weight — via HKLiveWorkoutBuilder (iOS 26 on iPhone). Not just a session envelope.

  • Offline-first CloudKit sync

    SwiftData writes stay local-first. CKSyncEngine handles background reconciliation with conflict resolution. No spinners or network errors mid-workout.

  • Data export hardening

    Custom .flexlog UTType for full-fidelity backup and restore via Transferable. Shortcuts action for automated weekly export. Complete column coverage on CSV.

  • App Intents & Quick Actions

    StartWorkoutIntent, LogSetIntent ("Log 225 for 5 on bench" via Siri), and a Control Center widget for one-tap access.

Questions we get a lot

The short version of every email we answer.

Is flexLog free? +

The free tier gives you full logging for three exercises with no time limit. A one-time Core purchase (~$4.99) unlocks unlimited exercises and every on-device feature. Pro is an optional subscription (~$0.99/mo or $9.99/yr) that covers features requiring a server or a second device — CloudKit sync, cloud backup, competitor import, and the Apple Watch app when it ships.

Does it work offline? +

Yes. All data is stored locally on your device. No internet connection is required to log sets, view history, or export your data.

Can I export my data? +

Yes. CSV and JSON export are available via ShareLink with no paywall. Every set you have ever logged is included, along with exercise metadata, gym names, set types, and machine context. A custom .flexlog backup format is planned for v1.0 with full-fidelity restore.

Does it sync across devices? +

Not yet. Offline-first CloudKit sync via CKSyncEngine is planned for v1.0. Data currently lives on-device only. Sync is a Pro feature when it ships.

Does it work with Apple Health? +

Not yet. HealthKit integration is planned for v1.0, writing per-exercise metadata via HKLiveWorkoutBuilder — not just a session envelope.

Is there an Apple Watch app? +

Not yet. A standalone watchOS app with Double Tap logging, Digital Crown weight adjustment, and a Smart Stack card is planned for v1.2. The Watch app will be a Pro feature.

How does on-device AI work? +

Weekly training summaries use Apple's FoundationModels framework via @Generable. Zero server calls. Requires Apple Intelligence hardware (iPhone 15 Pro or newer). Natural-language set logging and smart exercise search are on the Fall 2026 roadmap and use the same framework.

What's in the Analysis tab? +

A set of charts for lifters who like their data rigorous: weekly muscle-group heatmap using fractional-sets counting, an 11-axis muscle balance radar drawn on Canvas, rep-range specialization drift over 16 weeks, movement pattern breakdown by week, and a per-exercise weight × reps scatter with Epley iso-lines. All filterable by gym, muscle, or movement pattern.

What units does it support? +

Pounds and kilograms. All weight is stored canonically in kilograms and converted to your display preference at the view layer. Switching units is instant and changes zero database rows.

Can I import from Strong, Hevy, or Fitbod? +

Not yet. Importers for Strong, Hevy, StrongLifts, FitNotes, and Alpha Progression are planned for v1.3. Import will be a Pro feature.

How many exercises are included? +

873 exercises from a curated seed library, plus unlimited custom exercises you create yourself.

Will there be ads? +

No. No ad networks, no tracking SDKs, no exceptions.

0.1.0 and shipping weekly. Want to lift with it?

The pre-release is out the door, the beta opens soon, and we read every piece of feedback that comes in. Send a note — tell us how you train, what app you're leaving behind, and what you'd need to leave it. We'll get you on the list.

No waitlist form. No "thanks for subscribing" auto-reply. Just an inbox with humans in it.