← Blog

TipsAnalysis

Build Your Own Gym Software: What Replacing PushPress Takes

Line illustration of a coral phone and a tablet showing booking calendars with checkmarks, next to a black kettlebell, on a cream background.

Short answer: if you want to build your own gym software and actually drop PushPress, I think you need seven things. A member app, a class schedule people can book from, waivers, check-in, billing on Stripe, an admin dashboard and some reports. With an AI coding tool like Cursor I'd plan on something like 150 to 300 hours for a first version a gym can really run on. That's my own guess, not a study. Hosting is cheap. Card fees end up about the same. So most of the cost is the hours, and for a lot of one location gyms that doesn't come out ahead of just paying PushPress.

I already wrote a post about whether to leave PushPress at all, PushPress alternative: when a custom gym system makes sense. So I won't go over that again here. This one's more for the person who's already a bit curious and wants to know what's actually in the box.

I'll start with the money

I know, usually you'd start with features. But honestly the money is what people ask me about first, so I'm just going to get it out of the way.

I looked at all of these pages on October 21, 2026. PushPress, Vercel, Supabase and Cursor show prices in US dollars. Stripe Canada shows Canadian dollars. I didn't convert any of it, so it's not a perfect apples to apples thing.

So to make it concrete, picture a gym with 150 members paying $150 a month. That's $22,500 going through cards every month.

If you build your own, Stripe charges 2.9% + CA$0.30 per domestic card payment, which comes to $697.50 CAD. And if you use Stripe Billing to run the memberships, the pay as you go option adds 0.7% of billing volume, so another $157.50 CAD. That's $855.00 CAD a month. Stripe's fixed monthly Billing plans aren't available to businesses in Quebec yet, that same page says, so pay as you go is what you'd be on here anyway.

Then hosting. Vercel Pro is $20 USD a month per developer seat, and Supabase Pro starts at $25 USD a month, which includes $10 of compute credit that covers one Micro database. So about $45 USD a month. While you're building you'd also pay for Cursor, and the Premium plan is $30 USD a month.

Now PushPress, same gym. Core Pro is $159 USD a month plus 2.89% + $0.30 per card payment, so about $854.25 USD all in. Core Max is $229 USD plus 2.75% + $0.30, about $892.75 USD.

Which, yeah. It's pretty much a wash on fees. I was kind of expecting a bigger gap when I first ran it.

The one place it really isn't close is the free PushPress plan. At 4.99% + $0.30 on that same volume you're at about $1,167.75 USD a month. So if you're on free with a lot of members, that's a different conversation.

And then the hours

This is the part that actually decides it, I think.

Job Bank puts the median wage for a software developer in the Montréal region at $45.67 an hour (their wages were updated November 19, 2025). That's what an employee earns, so a freelancer or agency will charge more than that. But as a floor, 150 to 300 hours of building is roughly $6,850 to $13,700 CAD.

After that somebody has to keep it running. I'd guess 5 to 10 hours a month, which again is my estimate. That's about $228 to $457 CAD a month, or roughly $2,740 to $5,480 CAD a year.

PushPress Core Pro as a subscription is $1,908 USD a year. So the upkeep alone can be more than the subscription, and that's before you've earned back anything you spent building it.

The screens, one at a time

OK so what are you actually building. PushPress lists on its pricing page a member app, a staff app with a kiosk mode, class scheduling with waitlists, digital waivers, QR code check-ins, automated billing and reporting. That's kind of the bar. If you skip one, I've noticed it usually just turns into someone at the front desk doing it by hand.

Billing

I'm putting this first because it's the one that can actually hurt you. It touches money. Memberships, class packs, drop-ins, freezes, people starting halfway through the month, cards that fail. My advice is let Stripe do the hard parts, like retrying failed cards and the hosted page where members update their own card. Your app mostly just listens to what Stripe tells it happened.

The member app

This is what members see, so it's what they'll complain about. Log in, see my plan, book a class, change my card, sign the waiver, buy a pack. I'd make it a web app people add to their home screen instead of a real App Store app. Getting through Apple's review and setting up push notifications is a whole project by itself. And most members just want to book the 6 am class and go back to sleep.

Booking and the class schedule

You need classes that repeat every week, a cap on spots, a waitlist, late cancel rules, and a way to swap in a different coach. The waitlist is where it gets annoying. Somebody cancels, who gets the spot? Do they get a text? What if they never answer? I'd write all that down in normal words before anyone touches code. It saves a lot of going back and forth.

Waivers

You want the signed waiver saved with the date and the exact version of the text they agreed to. And booking should be blocked until it's signed. It's not hard to build. But please get a lawyer to look at the wording, because I'm not one.

Check-in

Could just be a tablet at the door with a QR scanner. Or a list of today's bookings the coach taps through. PushPress also has a TV view of who's booked into class, which is nice, but I'd leave it for later.

Admin dashboard

The member list, each person's profile and notes, plans, manual charges, refunds, who on staff can do what. Your staff are in this screen all day, so it should be quick and kind of boring. Boring is good here.

Reports

Revenue by month, active members, cancellations, attendance by class, coach hours for payroll. Start with the few you already look at every week. You'll add more later, everybody does.

Reminders by email and text are kind of their own thing, by the way. We do that sort of setup as gym booking automation. And if what's really eating your day is the phone and DMs, I wrote about an AI receptionist for gyms too.

How I'd actually build it with Cursor

So the setup I'd use is a Next.js web app on Vercel, a Supabase Postgres database with its built-in login, and Stripe for payments and subscriptions. All three let you start free while you build. Cursor is the editor where the AI agent writes most of the code, and you're the one steering it, reading what it did and testing.

The order matters more than people think. I'd start with the data, meaning members, plans, classes, bookings, waivers and check-ins, and I'd get that right on paper first. Then the admin side and the schedule, so staff can set things up. Then Stripe billing, and I'd test that really hard in Stripe's test mode, every webhook and every declined card I could think of.

Only after that would I do the member app, then check-in, then reports. And last, moving your data over from PushPress and running both side by side for a few weeks. I wouldn't skip the side by side part.

On time, like I said, I'd plan 150 to 300 hours if you're comfortable with code. The AI is fast at writing it. Where it doesn't save as much time is deciding the rules, testing the billing edge cases and chasing down weird stuff once real members start using it. If you've never shipped software before I'd honestly double that number. Or not do it on your own.

(And the first demo always shows up fast. It feels like you're almost done. You're not, it's the waitlist and the prorating and that one refund that went wrong that take forever.)

So when does building make sense?

Mostly when saving money isn't really the reason. Like you've got an owner or someone on staff who actually enjoys this stuff. Or your memberships don't fit any platform out there. Or you want booking and billing and your website to all feel like one thing. Or you're on the free plan with a lot of volume and that 4.99% stings.

If none of that is you, I'd honestly keep PushPress and build little tools around it.

Next step

Go through those seven screens and tick off the ones PushPress already handles fine for you. If it's most of them, I think you've kind of got your answer. If two or three keep eating your time every week, book a call with Tom and we'll look at whether they're worth building.

don't be a stranger

— get in touch...