Overview
Alpaca brought me in to help raise their seed round. That meant a deck and a set of prototypes, but the prototypes were not illustrations for the deck. They were the argument.
We were not pitching a roadmap, we were showing investors the thing working, which meant every fundraising decision was also a product decision. If a screen did not hold up in a demo, it did not hold up as a design.
So six months ran on two tracks at once: define the modules well enough to build, and make them legible to someone who has never set foot in an ABA clinic.
The Problem
One in thirty-one kids is diagnosed with autism, and most wait more than a year to start therapy.
Applied Behavior Analysis is the main insurance-funded therapy for autistic kids. It is one to one, ten to forty hours a week, for years. Getting into it is the problem. The median kid is not diagnosed until 47 months, and the evidence says intervention works best between 18 and 30 months. Then there is a queue for the diagnostic evaluation, and behind that another queue for therapy, around six months on average and longer in rural areas. Once a kid finally starts, only about 28 percent get the full number of hours their treatment plan prescribed.
The clinicians who could close that gap are doing paperwork instead. In a 2025 survey of 390 BCBAs, they reported spending 38 percent of the week on billable non-therapy work against 25 percent on direct therapy. 61 percent said admin was getting in the way of care. 58 percent were thinking about leaving the profession.
And the paperwork is not even landing. By one vendor's data, 80 percent of ABA session notes fail at least one payer requirement, which feeds denial rates of 15 to 30 percent.
The waitlist isn't a demand problem. It's an administrative throughput problem.The thesis the whole product rests on
The kids are diagnosed. The clinics exist. The clinicians are certified. What is missing is hours, and a large share of the available hours are going into documentation that gets rejected.
The Clinic
A small ABA clinic is one BCBA, a handful of RBTs, and a six percent margin. Two roles do all the work, and only one of them can be hired.
A master's degree, 2,000 supervised fieldwork hours, and a board exam. Assesses the kid, writes the treatment plan, designs the teaching programs, supervises the technicians, trains the parents, and writes the justification insurance reads to decide whether to keep paying.
A 40-hour training and a competency check, then delivers the actual hours, running the BCBA's protocols with the kid and recording data on every trial.
In a small clinic the BCBA is also the owner. They are the senior clinician, the supervisor, the scheduler, the credentialing coordinator, the billing escalation path, and the person who answers the phone when a new family calls. The clinic runs about $600K in gross billings and clears roughly six percent.
That structure is why growth is hard. Adding a kid adds RBT hours, and you can hire RBTs. It also adds BCBA hours, and you cannot: about half of US counties do not have a single practicing BCBA.
Alpaca is not SaaS, and that changed how I designed it. It is a managed services organization built on software. It holds the group insurance contract, bills through it, pays providers 80 to 90 percent of reimbursement every two weeks, and takes the spread. Clawbacks come off Alpaca's balance sheet, not the clinic's.
Because revenue is a share of billable throughput rather than a per-seat fee, a human in the loop is affordable and expected. I never had to design as if the AI would run unattended. It had to be right, and someone could stand behind it.
Design
Four modules came out of the six months: intake, scheduling, clinical documentation, and data collection. Each one attacks the same number from a different side.
Intake: making the waitlist a living list instead of a spreadsheet. Most clinics run their waitlist in a spreadsheet owned by one coordinator. When capacity finally opens, that person works down the list and burns days on families who have moved, changed numbers, or already enrolled somewhere else. The first thing I did was pull apart four failure modes that all look identical in a spreadsheet.
Only the last one is the clinic's fault, and it is the one AI can actually fix. So the bet was an assistant that follows up with parents on a cadence and re-engages families who have gone quiet, so the list is still true on the day a slot opens.
The second bet was matching: surfacing which kids can actually be placed with which BCBA. Placement is done by hand today and it is a genuinely hard constraint problem. BCBA supervisory capacity, RBT availability at the right hours in the right ZIP, payer contract status for that specific plan, hours needed against hours free, age band, clinical fit. It looks like scheduling and behaves like bin-packing.
Scheduling: a cancellation should become a rebooking. Cancellation rates in this space run around 38 percent, and authorized units do not roll over. If a session is cancelled and not made up inside the authorization window, that is clinical time the kid permanently does not get, and revenue the clinic permanently does not see. So the design bet was that a cancellation should immediately turn into a rebooking offer, showing which RBTs or BCBAs have a real opening the family can actually make.
The tension I had to design around, and could not fully solve: if your technicians are 85 percent utilized, there is no slack to absorb a make-up. High utilization and make-up capacity are mathematically in conflict, and that is a staffing problem, not a UI problem.
Clinical: automate the formality, protect the analysis. A treatment plan runs from diagnosis and history through baselines, measurable goals, behavior targets, requested hours per billing code, and discharge criteria. It takes a BCBA 6 to 10 hours to write, and insurance authorizes fewer hours than that. My principle was that summarizing a medical record into narrative background does not need a master's degree, but writing operational definitions and identifying behavior functions absolutely does. Automate the first, protect the second.
Data collection, designed twice. This was the most interesting constraint in the whole engagement. The RBT captures data during therapy, one handed, mid-trial, while keeping a four-year-old engaged. They need speed and density. The BCBA's job is review: graphs, trends, deciding whether a target is stalling and what to change. Same data, two interfaces that do not want to be the same interface.
Programs. ABA nests: domain, goal, short-term objective, program, target, trial. A program is the written protocol, a target is one teachable thing inside it, a trial is one attempt. The structural problem is that programs run for months and billing is strictly session-bound. A program has no start time, stop time, provider, or billing code. A session has all four. The two only touch through trial data, and most tools in this category make clinicians maintain both views by hand.
Outcome
The round closed at $4M. Intake, scheduling, clinical documentation, and program management came out of it defined well enough to build against, and the prototypes did the arguing in investor conversations.
$4M
Seed round closed, with the prototypes carrying the pitch
4
Modules defined, intake, scheduling, clinical documentation, and data collection
-
Product outcome metric to confirm
Engagement figures. The platform was pre-build at the time of writing, so there are no product usage numbers yet.
Reflection
What I would do differently. I would push harder on measuring the waitlist. We designed re-engagement without a baseline for how much of a typical list is even reachable, and that number would have sharpened every decision downstream. It is also a number nobody in the industry measures, including us, which I should have treated as an opportunity rather than an excuse.
What has stuck with me. When you ask parents what outcome they actually want, they rank happiness first, ahead of communication, behavior, and independence. Nothing in an ABA data model measures it. There are hundreds of trials recorded on a kid every week, and what the family gets is a two-minute conversation at the door. That gap is the most under-designed thing I found in this industry, and I do not think I did enough with it.
A note on language: I say kids and families. The field says client, billing codes say patient, and clinical curricula say learner, three vocabularies for one person, which tells you a lot about the problem. I use identity-first language, autistic kids, which most autistic adults prefer, though some families prefer person-first.