Skip to content
Places

The app knows where you train.
Subtly. Privately. Usefully.

A workout in your garage at 6 AM and a workout in a commercial gym at 6 PM are different sessions — different equipment, different bars, different version of you. Most lifting apps treat all training as if it happened in the same room. flexRep doesn't.

Place is a first-class entity in the data model. Every session is tagged with the gym it happened at. Every analytic can be sliced by gym. And the ambient layer reacts — quietly — so you can feel where you are without being told.

Why place matters

A bar is not a bar.

The most consequential variables in a session are sometimes the ones that don't fit in a set row — the bar's actual weight, the plates available, the equipment you can substitute when the squat rack is taken. Place is the bucket that holds all of them.

The bar is different.

A commercial gym's 45-pound bar is 45 pounds. Your garage Texas bar is 55. Hotel gym dumbbells cap at 50, your home rack goes to 100. flexRep stores your inventory per gym so the plate calculator never lies about what you actually lifted.

The equipment is different.

Squatting on a safety bar at home and a straight bar on the road are different lifts. The app tracks which exercise variants are even available at each gym so substitutions are honest, not improvised.

The vibe is different.

The 6 AM version of you in your garage and the 5 PM version of you in a Planet Fitness are different lifters. They sleep differently. They warm up differently. They PR differently. The data should remember which one you were on a given day.

The performance is different.

Most lifters are quietly stronger at their primary gym. flexRep shows you exactly how much — across each lift, across each gym — without you having to ask.

What gets captured

A gym, in flexRep's view.

Each gym is a small profile you build over time. Nothing here is required. The more accurate you make it, the more honest your numbers — but you can also just tag a gym name and move on.

Field
What it is
Gym name
A label that's yours. "Iron & Oak — Home." "LA Fitness — Downtown." "Hotel — March trip."
Gym type
Home, commercial, university, hotel, public, garage — your choice, not a category we impose.
Primary flag
One gym is your main one. The rest are visitor gyms. Travel sessions don't pollute your primary-gym averages.
Plate inventory
The actual plates available — 45/35/25/10/5/2.5, or kilos, or whatever odd Olympic set your garage holds. The plate calculator uses your inventory, not generic 45s.
Bar inventory
Standard 45, Texas 55, women's 35, safety squat bar, trap bar, EZ curl, dumbbells. Each with its own canonical weight so working sets are accurate.
Optional location
A coarse geofence, if you want it. Used to auto-detect which gym you're at when you start a workout. Off by default; opt in when you opt in.
Optional notes
Free-form. "Crowded after 5pm." "Squat rack 3 is wobbly." "Sells coffee that doesn't cost $9."
What it enables

Place-aware everything.

Once a gym is a first-class entity, every other surface of the app gets richer for free. The ambient layer warms or cools. The plate calculator gets accurate. The strength curves get honest about context.

Gym color temperature.

Walk into a different gym and the app's background gradient shifts hue by a few degrees in either direction. Deterministic per gym, so your home gym always feels the same and the hotel gym always feels a little colder. Subtle enough you might not consciously notice. Present enough that the app feels like it knows where you are.

Per-gym session timeline.

Every workout is tagged with the gym it happened at. Filter the history view by gym; see your home-vs-travel rhythm at a glance. Travel sessions get a small icon in the calendar strip so deload weeks on the road aren't mistakenly read as plateaus.

Per-gym strength curves.

The e1RM chart for any lift can be sliced by gym. Notice that your bench is 8% lighter at hotels? That's the bar (commercial gyms quietly run light-by-spec), the warmup time, or both. Either way, the gap is now legible.

Gym-aware plate math.

When you change weight, the plate buttons assume your current gym's inventory. At home, "+45 + 25" makes a clean plate stack. At a hotel with only 35s and 10s, the calculator offers what's actually loadable — not what's convenient on paper.

Privacy posture

Place-aware, not location-tracked.

The line between 'the app knows you train at LA Fitness' and 'the app follows you home' is the line we hold. We are decisively on the gym-tagging side of it.

Coarse, not precise.

If you enable gym auto-detection, flexRep uses coarse location — neighborhood-grade, not street-level. The app never needs to know your exact GPS coordinates, and never stores them.

Queried at start, not continuously.

Location is checked once, when you tap Begin Workout. Not every five minutes. Not in the background. Not while you sleep. The app doesn't need to follow you around.

Off by default.

Gym auto-detection is opt-in. The first time you start a workout, the app asks. Saying no means you tag the gym manually — and the gym color temperature still works, because it's derived from the gym name, not your coordinates.

Yours, not ours.

Gym names, types, inventories, notes — all stored locally and synced only via your private iCloud zone. No flexRep server ever sees a gym name. No location data leaves your device.

What place tracking will never become

Six things this feature will not turn into.

The reason place-tracking gets a bad reputation is that other apps use it as a wedge into ad networks, lead-gen, and social features no one asked for. We have a firm and public list of things we won't ship.

  • Show you "people training near you."
  • Send notifications when you're close to a gym.
  • Display geofenced advertising of any kind.
  • Sell gym-traffic data to chains.
  • Suggest you visit affiliate gyms.
  • Compare you to other lifters at your gym.
In the export

Every gym, every session, every plate.

Your gym data ships with your data. CSV exports include a gym column on every set. JSON exports include the full per-gym inventory. Move to another tool, hand off to a coach, or pipe the file into an AI model — the place context goes with you.

That's the whole point. If we kept gym data trapped inside flexRep, we'd be doing exactly what we promised not to.

The room shapes the lift.

We let the room shape the data. Then we let the data give the room back to you.

Place-aware. Not location-tracked.