Dashboard
The whole gym on one screen.
Six KPIs, four charts and six live feeds — revenue by source, membership mix, attendance, top products, expiring memberships, at-risk members.
A spotter catches the rep you can’t finish.
Spotter catches the money you can’t chase.
One console for revenue, memberships, attendance, POS, inventory — and the cash drawer, reconciled at the end of every day. No more notebooks. No more guesswork.
100% DIGITAL · REAL-TIME RECONCILIATION · BUILT BY ACEOTOPES
TRY IT
This is a working copy of Spotter running on demo data. Ring up a sale, filter the member list, count the drawer and close the day — it all actually works. It plays itself until you touch it.
The same Tuesday — ₱18,450 through the till — written by hand, and run through Spotter. Drag the handle.
The notebook never told you anything was wrong — it had nothing to compare against. Spotter did, at 9:47 PM, before you took your coat off.
You'd know tomorrow. Maybe.
SPOTTEREight modules, grouped into what a gym actually does — each one live, searchable, and reconciled at the end of every day.
Every membership, walk-in and sale booked the moment it happens — across cash, GCash, Maya, card and bank. Voids stay on an audit trail, never deleted.
Profiles, plans and expiry in one place. Catch renewals before they lapse — and spot which walk-ins are already paying enough to be worth converting.
Check members in at the station, log walk-ins, and read the busiest hours and day-of-week patterns from a live analytics view.
Ring up drinks, plans and merch at the counter. Every sale decrements stock; low-stock, reorder and shrinkage flags surface on their own.
Close the day in one flow: opening float, petty cash-outs, expected vs counted cash. Variance is flagged before you lock — then the day is sealed.
Twenty reports across revenue, members, attendance, products and inventory — busiest hours, best sellers, month-over-month growth. All exportable to CSV.
The whole gym on one screen.
Six KPIs, four charts and six live feeds — revenue by source, membership mix, attendance, top products, expiring memberships, at-risk members.
Members, walk-ins, and who to chase.
Status derived from the dates — never a stale flag. Walk-ins who'd be cheaper as members are flagged automatically.
Check in at the desk in one tap.
Search, tap, done. Expired or upcoming memberships branch to the right flow. Trends by day, by hour, member vs. walk-in.
Every peso, and the drawer that holds it.
Memberships and walk-in fees on one ledger. Then the part nobody else does: open the float, log cash-outs, count, and close the day on a variance you can see.
Ring it up. Stock follows.
Tap products, take cash or GCash, hand back change. Prices and costs are snapshotted at the sale, so last year's profit never changes when you reprice.
Know what's running out, before it does.
Every movement is a ledger entry. Low-stock and reorder flags, days-until-stockout, shrinkage by cause, and a live valuation.
Twenty of them. All export to CSV.
Revenue by period, source, method and category. Period-over-period. Membership, attendance, engagement, best sellers, gross profit, dead stock.
Your gym's rules, not ours.
Membership plans, walk-in fee, timezone, and the thresholds that drive every alert — expiring soon, at-risk, low stock, conversion.
Not a concept — a working platform. Here’s what running the day actually looks like.
Every member, plan and expiry in one profile. Spotter watches who's lapsing and which regulars already pay enough to be worth a membership.
Type, tap, done — and the desk keeps moving. Expired or not-yet-started memberships branch to the right flow instead of silently letting someone through.
Ring up drinks, supplements and merch at the counter. Every sale posts to revenue and the drawer, and decrements stock — no second notebook, no manual count.
Every movement — restock, sale, adjustment — is a ledger entry. Stock levels are recomputable from it, so the number on screen is never a guess.
Open with a float. Log what goes out. Count what's left. Spotter tells you the variance before you lock up — and freezes the day once you sign off, so a later void can't rewrite a night you already closed.
Twenty reports across revenue, members, attendance, products and inventory. Busiest hours, best sellers, month-over-month growth — all exportable to CSV.
Scroll the day, 6:50 AM to 9:47 PM. One console, six modules, nothing reset between them — including the ₱200 that goes missing at closing.
A demo day on demo data — every figure below is computed by Spotter’s own rules, not written by hand.
Swipe through the day →
Before the first member walks in you know who's active, whose plan lapses this week, and exactly what's in the till — a ₱2,000 opening float, logged, not remembered.
Anjela's membership is verified against the dates, not a sticker on a card. The three walk-ins each pay the ₱150 fee at check-in — three separate transactions, ₱450 into the drawer.
Nine sales in twenty minutes. Tap the product, take the cash, hand back the change — and stock comes down on its own. The shakes are sold by the serving, so two servings leave a container that's still half full.
Spotter flagged it before you noticed — about a day from stockout. Two containers in is a purchase on the stock ledger, +60 servings. You paid the supplier in cash, so that ₱1,200 also gets logged as a petty cash-out against today's drawer.
The renewal chains onto her last day, so she loses nothing. Two more memberships go through the same afternoon: one new monthly on GCash, one quarterly on card. Revenue jumps ₱7,250.
Eleven day passes is ₱1,650 — more than the cheapest plan costs for a month. Spotter flags it at the desk, so instead of taking another ₱150 you sell him a membership: ₱1,000, cash, on the spot.
Seventeen more sales while the floor empties out. Every one snapshots its price and its cost, so the profit you report next quarter can't be rewritten by a price change tonight.
You count ₱11,800. Spotter expected ₱12,000 and says so — short ₱200, in red, before you've taken your coat off. It was the ice delivery: paid from the drawer at 2 PM, never logged. Log it, and the day closes square.
THAT WAS ONE TUESDAY
No notebook, no spreadsheet, no “I’ll remember it.” The books closed in under a minute, and every peso can be traced back to the moment it was taken.
Run your gym like this →Not a “reporting module” you’ll have to build out later. These ship, today, already wired to your data — and every answer exports to CSV.
Where the money came from, and where it went.
Where did the money actually come from?
Revenue by period & source
How much of it never touched the drawer?
Revenue by payment method
Which shelf is earning its space?
Revenue by product category
Are we growing — or just busy?
Period-over-period revenue
How often are we cancelling sales, and why?
Void analysis
Who's in, who's leaving, what they're worth.
Who lapses this week?
Membership status lists
Are we keeping people, or just replacing them?
New vs. renewals
Which plan should I be selling?
Membership plan performance
Did we end the month with more members than we started?
Membership net change
Who actually trains here?
Member demographics
Who shows up — and who quietly stopped.
How busy were we really?
Attendance report
Who's paying but not showing up?
Member engagement
Who's about to quit?
At-risk members
Who should have been a member months ago?
Frequent walk-ins
Is the conversion nudge actually working?
Converted walk-ins
What sells, what earns, what's dead on the shelf.
What flies off the shelf?
Best sellers
Which products actually make money?
Gross profit
Where did the stock go?
Inventory usage
What am I spending to keep the fridge full?
Restock cost
What's dead on the shelf?
Slow-moving / dead stock
WHAT IT’S WORTH
Put in your own numbers. This runs the exact rule Spotter uses to flag a walk-in who’d be better off as a member — the same code, not a sales estimate.
Careful — that’s not free money. They’re overpaying you by ₱5,350/mo, and it only holds until they do the maths. Convert them and you trade volatile walk-up cash for revenue that arrives whether they show up or not — and they stop shopping around. Spotter flags them the day they cross the line, so you make the offer before someone else does.
Show me this in my gymBreak-even rule (ADR-053): a walk-in is flagged when their visits in the last 30 days × your fee ≥ the cheapest plan’s 30-day-equivalent price. Visit-frequency mix is modelled; the rule itself is the product’s.
Not a template you have to bend into shape, and not a build that starts when you sign. It’s finished, you can drive the whole thing right now, and it’s built for gyms — nothing else.
Import your members, plans and products during onboarding, and open on it tomorrow. Your first day ends the way every day should — counted, reconciled, closed.

I keep meeting businesses that run on paper — where the whole day lives in one notebook and one person’s memory, and nobody finds the gap until the money is already gone.
I built Spotter because a gym shouldn’t have to work that way. Not a template bent into shape, not a build that starts when you sign — a finished system for how gyms actually run, so the day counts itself. The gym in these screens is a prototype I built to build against, so everything you see actually works.
Book a walkthrough with live demo data, or just tell me how your gym runs today. I’ll get back to you personally.