Every new center made the economics worse
Every care center the company opened made the unit economics worse. Gross margin sat at 30% and was not improving with scale. The pressure to expand was real, investors, waitlisted families, a growing market, but expanding on top of unprofitable operations just amplified the problem.
Scheduling was the bottleneck underneath most of it. Hot time slots were overbooked while off-peak hours sat empty. The scheduling team could not see available capacity across therapists and disciplines. Manual, fragile, optimized for convenience rather than capacity.
The downstream effects were visible in every metric. Cancellations generated 80% of support tickets. The family app had 20% daily active users. Financial reconciliation was manual and leaked 6% of monthly revenue. Each new center required heavy CAPEX and OPEX investment, but the existing ones were not extracting enough value from the capacity already built.
The question was not whether to grow. It was how to make each existing center profitable enough to fund the next one. Product needed to bend the cost curve without adding headcount.
Bending the cost curve through product
No feature shipped without a clear line to the P&L. Every initiative had to map to a specific metric: gross margin, cost per session, time to first appointment, cancellation rate. The operations team wanted headcount. Product investment takes longer but compounds differently.
Hot slots overbooked, off-peak empty, a scheduling engine that compounds
Each child needs multiple weekly sessions across disciplines, each therapist has availability constraints, and families reschedule frequently. A rule-based scheduler would have shipped faster, but therapy centers are too volatile for a static model.
We built a probabilistic engine that optimizes center occupancy using mixed blocks: pairing peak-hour demand with underutilized time slots. As more paired sessions were created, scheduling for new families became easier. The intent was compounding: each paired block would relieve pressure on the next competitive slot.
Ops wanted more support agents, we bet on family autonomy instead
The family app was underused and generated constant support tickets. The operations team pushed for more support agents. We bet on the opposite: families would prefer autonomy over waiting for a human response.
We redesigned the app around three needs: clinical progress visibility, schedule management without calling the care team, and a communication channel integrated with the clinical panel. Families could share observations that fed directly into the therapist's workflow.
Family App — Session Management
Upcoming Sessions
This weekMon · 09:00
Psychology
Wed · 14:00
Speech Therapy
Thu · 10:00
Occupational
Child Progress
12
Goals active
4
Completed
87%
Attendance
Schematic: mobile view with upcoming sessions, self-service actions, and child progress summary.
6% of monthly revenue was leaking through manual reconciliation
The company was losing 6% of monthly revenue to billing errors, missed invoices, and delayed receivables. At the volume of 3,000+ monthly sessions, manual financial reconciliation was unreliable. We automated the pipeline from session completion through invoice generation and collection tracking.
One therapist, multiple children, if the goals align
We built a matching engine that combines rules and ML to pair children for group therapy sessions based on compatible developmental goals. The hypothesis: children would progress faster on social skill objectives when grouped with peers working on complementary goals. Centers would also increase utilization because one therapist could serve multiple children per slot.
The unit economics told the story on their own
Margin improved before the company added new centers. The cost curve bent without adding headcount. Each new center reached break-even faster because the operational infrastructure was already built.
425%
Revenue growth
Monthly revenue, sustained
30%
Tech headcount growth
While revenue grew 425%
+12pp
Gross margin
From 30% to 42%
+70%
Center occupancy
Across all care centers
50% → 90%
Scheduling rate
Appointments successfully scheduled
20% → 75%
DAU
Family app, in 6 months
80% → 5%
Cancellation tickets
Support tickets from cancellations
5% → 80%
Group goal adherence
Objective alignment in group sessions
6% → 0.5%
Monthly losses
From billing errors
+50%
Sellable blocks
Available therapy slots per center
35% → 95%
WAU
Weekly active users, family app
Each product investment reduced the marginal cost of the next care center, the next therapist, the next family. The scheduling engine freed capacity, group matching filled it, financial automation captured what was leaking. In investor conversations, the unit economics told the story on their own.
Internal tooling compounds in ways consumer features rarely do
In operationally heavy businesses, the most impactful product work often looks like internal tooling. A scheduling engine that increases center occupancy compounds across every location, indefinitely. Consumer-facing features rarely compound at that rate.
The operations team felt the daily pain and their ask for headcount was reasonable. Learning to quantify the difference between linear and compounding solutions, without dismissing the operational reality, changed how I work across functions.