Nobody cancels the daythey stop showing up.
Amped gives your gym its own number. Members text it instead of hunting your website for the class schedule, and when someone stops turning up it reaches out in your gym’s voice — before the cancellation email does. We are building it with the first few gyms rather than at them.
- Members opt in at your desk
- Every message can wait for approval
- STOP always works
One number, two jobs.
The members who are in the building have questions your website makes them hunt for. The members who are not have a reason they stopped, and nobody at the desk knows it yet. Both arrive on the same number, and they want opposite things from a reply.
A member who is coming in, or deciding whether to.
Answering what your website buries
Class times, staffed hours, whether their guest can come, how a freeze works, which hours are actually quiet. Your front desk answers these all day and your website makes people hunt for them.
- The reply has to
- Answer from your own schedule, hours and policies — the documents you upload.
- And must never
- Invent a class time. A wrong one sends a member to an empty room, which loses a gym faster than silence does.
Paid this month. Has not scanned in.
Reaching the ones who went quiet
Nobody cancels the day they stop showing up — they drift, and the first your desk hears of it is the cancellation. A gap in someone’s visits is a signal your billing system has and nobody reads.
- The reply has to
- Reach out once, like a person at the desk noticing, and name a genuinely quiet hour if that is what stopped them.
- And must never
- Keep going. Two nudges, ever, and the second no sooner than a week after the first.
Every member on it put themselves there.
This is the part most member-messaging tools are vague about, so here it is in full. A gym hands over a member list and expects it to become a mailing list. Ours cannot.
A QR code at the front desk
It opens a page with your gym’s name on it, one box for a phone number, one for a first name, and a tick box that is not ticked for them. Joining is not a condition of membership and the page says so.
They get a text back straight away
The first message tells them what they signed up for and how to stop, before the AI has said anything at all. Reply STOP and nothing else ever arrives.
Your member export never signs anyone up
You send us a roster so we know who has been in. It can update a visit date on somebody who already agreed, and it cannot create anyone. That is enforced in the code, not a policy we intend to follow.
The full messaging programme — what gets sent, how often, and how to stop it — is written out on our opt-in page for gym members, which is the same page the carriers read.
The one number we will report.
Of the members we reached out to, how many came back within seven days. That is it. It is measured against where their visits stood at the moment the message went out, recorded then rather than reconstructed later, because the next roster export overwrites it.
We will not call them saves. Some members were coming back anyway, and until a gym is doing enough volume to hold a tenth of them back as a comparison, nothing here can tell the difference. So the number is reported as what it literally is, and labelled that way.
We will not quote you another gym’s rate. No gym has produced one yet. When one has, and has agreed to it being shared, you will hear the figure with their name attached — and until then you will hear that we do not have it, which is the version of this sentence that is still true in six months.
And we will not put a dollar on it. You know what a membership is worth to you and what your monthly churn looks like. Multiplying those by a number we invented would be our arithmetic dressed up as your result.
What it will never do.
These are not switches left in the off position. Two of them are already enforced in the database, before the features they constrain were written — which is the order that matters, because a limit added after a customer asks for the opposite is a limit that gets removed.
It will never tell a member how busy it is right now
A live headcount needs a turnstile integration, and being wrong about one is worse than not answering. It works from what you tell it — "Tuesday at six is our busiest hour, Sunday morning is our quietest" — which is what a member is actually asking when they ask how busy it gets.
It will never give out a class time it has not been given
If the schedule it holds does not cover the question, it says the schedule may have changed and points at your app. Guessing is the one failure a GM will ask about on the first call, and rightly.
There is no "text every member" button
Not a setting we leave off — a feature that does not exist. Eight hundred messages in one minute is how a gym would burn the sending allowance our coaching customers share, so a broadcast would need its own consent language and its own registration before it could be built at all.
A roster upload cannot enroll anybody
Enforced todayOnly the sign-up page a member fills in themselves can create a number we are allowed to text. Your export updates visit dates on people who already said yes and silently skips the rest — and we tell you how many it skipped, so you know why coverage is partial.
Replying to a nudge does not count as coming back
Enforced todayA member who texts "yeah sorry, been busy" has not returned, and counting that would inflate the only number this product is sold on. Only the visit feed may write a visit — it is written into the database column itself, in those words.
Questions a gym owner asks
Join the waitlist.
We are building this with a handful of gyms rather than at them, so the first ones on the list get their schedule, their policies and their busiest hour shaped into the first version. Priced by member count, quoted on a call — there is nothing to pay to be on the list.