CPR West Covina Logo

One screen

Ops Dashboard for CPR Training Companies

Leads, revenue, students, and the class calendar in one view, read live from your booking data. Open it in the morning instead of rebuilding the picture from Square, Gmail, and a spreadsheet.

  • 01Live from your booking data, never retyped
  • 02Today's classes, revenue, and unpaid students
  • 03Renewals coming due in the next 90 days
4.9 from 300+ Google and Yelp reviews on our own CPR businessBuilt by operators, not a software company

Assembly

How the ops dashboard works

Six steps. Step 1 is the only setup you do.

6 steps

  1. Connect your booking data

    The dashboard reads your live bookings, no second system to maintain.

  2. See today at a glance

    Which classes run today, who is enrolled, which instructor is teaching.

  3. Track revenue as it lands

    Payments post to the same view the bookings live in.

  4. Spot who has not paid

    Booked and unpaid students are listed, not buried in a report.

  5. See renewals coming due

    Cards expiring in the next 90 days, with the student attached.

  6. One screen, not three tabs

    Open it in the morning and the week is already legible.

From our own account

The ops dashboard we use to run our own CPR company
The dashboard we run our own company on.

Contents

What you get

In the box

  • 01Leads, revenue, students, and the class calendar in one view
  • 02Today's classes with enrolled students and instructor
  • 03Revenue posted against the bookings that produced it
  • 04Booked-but-unpaid list
  • 05Certifications expiring in the next 90 days
  • 06Live from your booking data, nothing typed in twice
  • 071 user on the base build
  • 08Extra views priced separately at $250 each, added only if you want them

Price

What it costs

Starting at

$500 to build, $29/month

+ $250 per additional view

Founder pricingFirst 10 clients · Prices rise Jan 2027

What’s included

  • 01Leads, revenue, students, calendar
  • 021 user
  • 03Live from your booking data

Anything beyond the starting build gets a real quote after a 15-minute call.

Prices go up in January 2027. Book before then and your rate is locked for as long as you stay a client.

Common assembly error

Three tabs and a spreadsheet

Without it

Ask most training-company owners how the week is going and watch what happens. Square opens in one tab for the money. Gmail opens in another for the bookings that came in by email. A spreadsheet opens for the roster. Then a calendar, to see who is teaching Saturday.

Twenty minutes later there is an answer, and it is already slightly wrong. The spreadsheet was last updated Tuesday. Two payments in Square have no booking attached and nobody knows whose they are. A class on Saturday shows four students in one place and six in another.

The cost is not the twenty minutes. It is that nobody does it on a Wednesday, so a slow week gets noticed on the following Monday, when there is nothing left to do about it. A picture you have to assemble by hand is a picture you assemble rarely.

What should a class management dashboard actually show?

Four numbers and one grid. Leads that came in, students enrolled, revenue that landed, bookings that closed, and this week's class calendar. That is enough to answer the only two questions worth asking on a weekday morning: is the week on pace, and where is the gap. Everything past that is a report, and reports are things you look at monthly, not things that belong on the screen you open every day. We run our own CPR business at around 137 bookings a month against exactly this view. The thing it changed was speed of noticing. A soft week now shows up on Wednesday, while there are still three days to fill seats, instead of showing up in the Square summary at the end of the month.

How do I see all my bookings in one place?

Read them from one source instead of reconciling three. The dashboard sits on top of the booking data itself, so a booking made at 11pm on a Sunday is on the screen at 11pm on a Sunday, with no export, no sync job, and nothing to remember to update. Phone bookings entered against the same sessions show up the same way. This is the part that makes the difference between a dashboard and a report: a report is a snapshot of what someone typed in, and it starts going stale the second it is generated. If you have ever had a roster disagree with itself across two files, you have already paid for the version where the data lives in more than one place.

What counts as an additional view, and do I need one?

The base dashboard covers leads, revenue, students, and the class calendar, and for most single-location training companies that is the whole job. Additional views are things some businesses need and most do not: a per-instructor performance view when you have several instructors and want to compare fill rates, a per-location breakdown once you run more than one site, a custom report your accountant or a corporate client asks for on a schedule, or an extra data source connected so something outside the booking system shows up here too. Each of those is $250 to build. We would rather sell you the base and nothing else than sell you six panels you will stop opening in a month.

How do I find students who booked but never paid?

Put it on the dashboard as a list, because a number nobody can act on gets ignored. Booked-and-unpaid is one of the most common quiet leaks in a training business: a student picks a class, opens payment, drops off, and no one notices until class morning when the seat is empty and the money never arrived. Seeing the names is what makes it fixable. You can call them, or let the abandoned-checkout follow-up do it. The reverse case matters too: a payment that landed with no booking attached to it. Both belong in the same view because both are the same fact, that money and enrollment stopped agreeing.

Is a revenue dashboard worth it for a small training company?

It depends on whether you currently know your numbers without doing work to find them. If revenue, enrollment, and next week's classes are three separate lookups, then yes, because the real cost is not the lookups, it is the decisions you are not making between them. Staffing an instructor for a class of two, running ads into a week that is already full, missing a renewal window on forty students. Those are all decisions made blind. The honest counter-argument: if you run one class a week and know every student by name, you do not need this and we will say so on the call.

Troubleshooting

Dashboard questions, answered

Where does the data come from?
Your booking data, live. Nothing is typed into the dashboard separately, which is the only way a dashboard stays true.
Do I need your booking calendar to use this?
It is the clean version, because the data is already structured the way the views expect. If your bookings live elsewhere, we look at what your system exposes on the call and tell you honestly whether it fits.
How many people can log in?
The base build covers one user. More users and per-role access are a normal thing to add and get quoted after a call.
What is a $250 additional view?
A panel or report built beyond the base four: per-instructor performance, per-location breakdown, a custom recurring report, or an extra data source connected. You only pay for the ones you ask for.
Is the base dashboard useful on its own?
Yes. It is what we use to run our own CPR business day to day. Extra views exist for companies with more instructors or more locations, not as a gate on the base being usable.
Does it work on a phone?
Yes. Owners check the week from a parking lot between classes more often than from a desk, so the main view is built to read on a phone.
Does it show renewals coming due?
Yes, cards expiring in the next 90 days with the student attached. If you also run the renewal reminder engine, those students are already being contacted automatically.
What does it cost?
It starts at $500 to build, then $29 a month, and covers leads, revenue, students, the calendar, and one user. Each additional view built on top is $250.

Need a hand

See the dashboard on real data

Get on a call and we will walk you through the live view we run our own CPR company on, then tell you which views you would actually use.

We work with CPR and certification training companies nationwide