AppsServicesAboutSupport Contact

SumantKushwaha.dev@gmail.com

Home/Apps/GymDesk

GymDesk

Gym Management for the Front Desk
In developmentAndroidOffline-firstKotlin + Compose

One gym, one login, one phone. Register members, issue scannable entry passes, mark attendance, sell and renew plans, collect payments, chase leads and read the numbers — with or without an internet connection.

Coming soon toGoogle Play Join the beta list
9:41
Today
Iron House Gym
42 in
318Active
₹24kThis week
11Expiring
Scan entry pass
Rohit Patel
Checked in · 7:12 am
GD·8F2K
Neha Singh
Renewed · Quarterly
₹3,600
Package
com.shunya.gymdesk
Platform
Android
Built with
Kotlin · Compose
Database
SQLCipher (encrypted)
Works offline
Everything but sign-in

Who it's for

A gym owner and their front desk — not a chain with a head office. There's exactly one login per gym, which removes an entire category of complexity: no roles to configure, no permission matrix, no "which gym does this account belong to" lookup.

Trainers and staff still get tracked, they just get a scan card and an attendance log instead of an app login. The person at the desk does the work; the app stays out of the way.

The one idea behind it

The phone is the original. The cloud is a backup of it. Nothing writes to a server during normal use. Adding members, taking payments, checking people in, running the scanner, editing plans, working the leads pipeline — all of it runs in airplane mode.

Features

What it actually does

Everything the front desk needs during a shift, on one phone.

Member management

Name, phone, email, gender, DOB, address, emergency contact and notes, with phone numbers unique per gym. Membership status (active, expiring, expired, inactive) is computed from the end date on every read rather than stored, so it's never stale.

Scannable entry passes

Every member gets a unique code (GD + 8 characters from an ambiguity-free alphabet) rendered as both a QR code and a Code 128 barcode, shareable straight to WhatsApp.

Live camera scanner

A full-screen CameraX + ML Kit scanner reading QR, Code 128, EAN, UPC and Data Matrix. Scanning the same card again toggles check-out instead of creating a duplicate record.

Attendance & auto checkout

Attendance is keyed per member per day. Once a day the app checks whether the gym's closing time has passed and checks out anyone still marked present — unless the gym is set to open 24 hours. It self-heals if the app wasn't open right at closing.

Payments, renewals & UPI

Every join, renewal or ad-hoc collection writes a payment record with amount, mode, type and who collected it. Renewing an active member appends to their existing end date; an expired one starts fresh from today. A live UPI QR can be generated for any amount.

Sequential invoices

A receipt icon on any payment generates or re-opens a numbered invoice (INV-000123) and shares a rendered receipt image over WhatsApp.

Plans, trials, freeze & referrals

Four starter plans are seeded on setup. Free trials gate entry exactly like a paid plan but stay flagged as a sales conversation. Memberships can be frozen — the day counter pins instead of ticking down — and referrals apply a configurable discount.

Leads pipeline

New → Contacted → Trial Scheduled → Trial Completed → Negotiating → Converted or Lost, with source, notes and a follow-up date. Lapsed memberships and unconverted trials turn themselves into follow-up leads automatically.

Dashboard & reports

A live activity feed, KPIs with week-over-week deltas, plan-mix and payment-mode donuts, a revenue trend and a busy-hours-by-time-of-day chart.

WhatsApp templates

Editable templates for welcome, thanks-for-visiting, expiring, expired, lead follow-up and trial reminder, with placeholders for name, gym, plan, expiry and days left.

Team & transfers

Trainers, managers and housekeeping get their own scan card and attendance log without ever getting an app login. Unused membership days can move between members, with an immutable transfer record as the audit trail.

Encrypted local database

An encrypted SQLCipher database stored outside the app's private folder so it survives an uninstall and reinstall, with an owner marker that rejects a different account signing in on the same phone.

Architecture

Where your data lives

Worth being precise about, because it's unusual.

LOCAL

Encrypted SQLCipher

Every read and write lands here first. Stored in a hidden folder on shared storage — deliberately — so it survives an uninstall and reinstall.

GUARD

Owner marker

A marker file holds a hash of the account that owns the data folder. A different account signing in on the same phone is rejected before a single row is read.

BACKUP

Cloud mirror

One code path writes to the cloud, and it mirrors rather than merges — a member deleted on the phone disappears from the copy instead of being resurrected by a later restore.

ONLINE

Only two things

Signing in or creating an account, and the backup itself. That's the complete list of what needs a connection.

Pricing

Free, with an optional backup

Free tier

The whole app. Not a trial, not a feature-gated demo.

  • Unlimited members, plans and payments
  • Scanner, attendance and auto checkout
  • Leads pipeline, invoices and reports
  • Everything stored on your phone

Cloud backup — ₹99/month

Sold through Google Play. The only thing it adds is a copy off the phone.

  • Nightly automatic backup
  • Restore to a new or reset phone
  • Cancel any time from Play Store
  • Without it the app is still fully usable
Roadmap

Where it stands today

DONE

The full front-desk workflow

Members, plans, entry passes, the scanner, attendance, payments, invoices, transfers, team cards, the leads pipeline, the dashboard and reports are all built and working.

IN PROGRESS

Release hardening

Play Billing wiring for the backup subscription, real ad unit ids, and the long tail of edge cases that only show up on someone else's phone.

NEXT

Closed beta with real gyms

A handful of gyms running a full month on it — the only way to find out what a 7am rush actually breaks.

LATER

Play Store release

Public launch once the beta gyms stop finding problems. The download button on this page goes live then.

Beta

Run a gym? Try it before launch.

I'm looking for a few gyms to run GymDesk properly for a month. If that's you, email me with your gym's name and roughly how many members you have.

SumantKushwaha.dev@gmail.com
Privacy policy Support