The owner was running a real business through someone else’s reporting screen.
The franchise operator owned two locations and had been quietly profitable for years. The problem wasn’t the business — it was visibility. Every week, every month, the same questions ate his Saturday morning: Which instructors are actually pulling their weight? Which events should we kill? Where is the margin?
The franchise’s vertical SaaS had all the data. None of the answers. The built-in reports were locked behind a workflow the platform clearly hadn’t prioritized in five years. Every report he wanted required a Tuesday morning on the phone with a customer success rep who was already three accounts behind for the week.
A reading layer, not a replacement.
The franchise SaaS wasn’t going away — and shouldn’t. It runs scheduling, payments, and a half-dozen integrations the corporate office mandates. The right move was to leave it alone, and build a separate reading layer on top.
We set up a webhook pipeline that mirrored every event from the SaaS into a Supabase database the operator owned. Claude sat in the analysis layer, transforming raw event streams into the answers he actually asked: profitable instructors, healthy events, where the margin lives. The dashboard — Next.js, deployed on Vercel — reads exactly the questions the owner asks himself on Saturday morning. Nothing more.
He cancelled a $1,400/month tool. The dashboard cost him nothing to keep running.
Inside fourteen days the dashboard was live, the webhook pipeline was stable, and the owner had cancelled the BI tool he had been paying $1,400/month for. The build cost less than three months of that subscription. By month two, he had cut one underperforming class type, restructured two instructor contracts, and was running both locations off the same Saturday-morning view.
He never opened the franchise SaaS reporting screen again. He didn’t need to.
Read, don’t replace. Almost always.
The temptation in these engagements is to recommend replacing the platform. Don’t. Vertical SaaS earns its keep. It runs the operational rails the corporate parent demands and your team has trained on. What you almost always need is a reading layer — a thin, owned, queryable mirror of the data that already exists. That’s usually two to four weeks of work. It almost always costs less than the BI tool nobody is using.