Skip to content
The Fareed
Start a Project
Desktop Application

GymFlow

Gym management for owners who want their books on their own computer. Members, plans, renewals, payments and expenses in one place, with no account to create, no subscription to a server, and no internet connection required.

  • Version 1.6.0
  • Platform macOS and Windows
  • Stack Electron, SQLite
  • Offline edition
01The brief

A register, not a SaaS

Most gym software assumes a monthly fee, a cloud account and a member app nobody installs. A single-location gym usually wants something much smaller: who is a member, whose membership expires this week, what came in, what went out.

GymFlow answers exactly that. It installs on the front-desk computer, stores everything in a local database, and shows the owner a running balance the moment it opens.

02Screens

Seven screens, nothing spare

01

Dashboard

Total members, active and expired memberships, and an all-time balance up top. Below that, this month income against expenses, recent payments, recent expenses, a category breakdown and everyone expiring in the next fourteen days.

02

Members

A searchable directory filtered by status. Add, edit, renew or archive a member, each one carrying a member number, contact details, plan, start and expiry dates and notes.

03

Membership plans

Define the plans the gym actually sells, then attach them to members. Old plans are archived rather than deleted so historic records stay readable.

04

Payments

Record a payment against a member with a date, method and amount. Renewals push the expiry date forward from the plan.

05

Expenses

Rent, equipment, utilities and everything else, with a category and an optional vendor, so the monthly balance is a real number rather than a guess.

06

Reports

Run a report over any date range, export the current range, or pull a monthly CSV for the accountant.

07

Settings

Gym name, logo, address, phone, email and currency, which then brand the interface. Backup export and restore live here too, alongside the license status.

03Screenshots

The app itself

Captured from a demo install. Member names, contact numbers and gym details are obscured.

The dashboard: member counts, active against expired memberships, an all-time balance, and this month income against expenses.
The dashboard: member counts, active against expired memberships, an all-time balance, and this month income against expenses.
The member directory, searchable by name, ID, phone or email and filterable by status, with renew and archive on every row.
The member directory, searchable by name, ID, phone or email and filterable by status, with renew and archive on every row.
Adding a member. The member number is generated, and the plan sets the expiry date.
Adding a member. The member number is generated, and the plan sets the expiry date.
Membership plans, each with a duration in months and a price. Retired plans are archived, never deleted.
Membership plans, each with a duration in months and a price. Retired plans are archived, never deleted.
Payments, covering initial fees, renewals and manual entries.
Payments, covering initial fees, renewals and manual entries.
Recording a payment against a member, with method, date and reference.
Recording a payment against a member, with method, date and reference.
Operating expenses by category and vendor, so the monthly balance reflects what the gym actually spent.
Operating expenses by category and vendor, so the monthly balance reflects what the gym actually spent.
Reports over any date range: income by method, spending by category, and the underlying entries. Exports to CSV.
Reports over any date range: income by method, spending by category, and the underlying entries. Exports to CSV.
Settings hold the gym profile and currency, the backup export and restore, and the annual licence status.
Settings hold the gym profile and currency, the backup export and restore, and the annual licence status.
The owner sign-in. One account, held locally on that computer.
The owner sign-in. One account, held locally on that computer.
04Under the hood

Local by design

  • One SQLite file. Members, plans, payments, expenses and settings all sit in a single local database the owner can back up and move.
  • No network calls. The app makes none. Nothing about the gym leaves the computer it runs on.
  • Offline licence checking. Each install generates an installation ID and is unlocked with a signed annual key, verified locally against a bundled public key.
  • A locked-down renderer. A strict content security policy, no remote scripts, no remote fonts, and a narrow preload bridge between the interface and the database.
  • Backup and restore built in. Export the whole dataset from Settings and bring it back on a new machine.
05Getting started

Setup

Install, activate, name the gym. The app opens on Settings until the profile is filled in.

  1. Install the app on the front-desk computer.
  2. Copy the installation ID it shows and send it over.
  3. Paste the licence key issued for that machine.
  4. Create the owner account with an email and password.
  5. Set the gym name, logo and currency in Settings.
  6. Add the membership plans, then start adding members.
06Questions

Frequently asked

Still tracking members in a notebook?

GymFlow is licensed per machine, installed on yours, and yours to keep. Get in touch for a walkthrough.