Case study · CRM Dashboard & AI
Gym Dashboard
One dashboard for a gym owner who was running the business across three CRMs. It pulls the numbers from each system into one place, so revenue, attendance, joins, cancellations and failed payments can be checked on a single screen. A member health score flags who needs attention, so staff can step in before someone cancels, and an AI assistant answers questions about the numbers in plain English. Member names and dollar figures are blurred to protect the business.
The problem
The owner had three CRMs to work with, so seeing how the gym was performing meant logging into each one and piecing the numbers together by hand.
What I built
A single dashboard connected to the ClubFit API and GoHighLevel. Code scores how each member is tracking from their visits and payments, a retention board tracks every follow-up, and an AI assistant answers questions about the numbers.
The result
The owner checks every number in one place. Staff start each day with a list of who to contact, and every call and text is logged against the person who made it.
Built with
GoHighLevel, ClubFit API, Claude, ChatGPT and GitHub.
The whole club at a glance
Revenue and attendance for the last 30 days, each compared with the period before and the same time last year.
Ask the numbers a question
An AI assistant sits on every page. Staff ask in plain English, like “how did this week compare with last week?”, and it answers from the dashboard’s totals only, never member details.
Every number that matters
Pipeline, payment issues, debt collection, suspensions, cancellations and pack sales sit in one row, with new joins and cancellations charted day by day.
Every lead, traced to a membership
Leads from GoHighLevel are matched against ClubFit, so each pipeline and lead source shows how many people actually joined, not just how many filled in a form.
A 28-day onboarding board
New members move week by week through a checklist of calls, texts and sessions. Staff tick each task off, and the board records who did it.
A board for everyone at risk
Members are flagged from their weekly visits and labelled by pattern: ghosts, sharp drops and gradual slides. Each card moves from flagged to contacted, following up, escalated and resolved, so the team can see who has been called and who still needs it.
What needs doing today
At-risk members nobody has actioned yet, and payment problems, collect in one list behind the bell. Staff start the day with a to-do list instead of a search.
Where the money comes from
Twelve months of revenue against the year before, broken down by category for any month.
Forecast and what to act on
The next three months are forecast from the current run rate and last year’s season. The dashboard then lists the actions worth taking, worked out from the numbers each time it loads.
Have a project like this?