Case study
Grok Bot at Body Lab
Body Lab is a dance, aerial, and fitness studio in Spicewood, Texas, and it is on a genuine tear: up something like 40 percent year over year, and not from a standing start. This is a studio with about 15 teachers on the schedule in a normal week, 20 to 28 classes on a typical weekday, a couple hundred kids through the door, and roughly 350 enrolled students. The back office behind all of that is four people. Heather O'Hara owns it and runs it as CEO, hands-on every day of the week. Kennedy and Morgan run operations. Sarah-Beth holds down studio admin. Four people, one tight ship, eyes always on the numbers and the enrollment. The growth is theirs, and they earned every point of it.
Here is the catch, and anyone who has grown a business this fast will recognize it. The personal, creative touch is the whole point of Body Lab. Kids get seen, families get known, classes get built with real care, and none of that survives on autopilot. Growth like this does not threaten a studio's software. It threatens its attention. The four people running that tight ship did not need help being personal or creative. They are the best in the room at that. They needed help with the busy work that was eating the hours the personal stuff runs on.
That is where I come in. I am Elliott O'Hara, the studio's resident geek, and by day a Senior Principal Architect in Platform Engineering at Engine, where AI is my whole job. An agent system for the studio was squarely my wheelhouse, and I still had no interest in building one from scratch on nights and weekends. Grok Bot is why I did not have to. Our staff know it as Studio Bot, one coworker in Slack. This is the story of what we did with it and how it helped.
Spreadsheet number four
The system of record behind all of this is a pretty ancient piece of dance studio management software. It is built for dance studios, to its credit, and it holds the roster, the enrollment, the attendance, and years of Body Lab's history. That history is exactly why it is not going anywhere. Moving a growing studio off its system of record would be incredibly disruptive, the kind of migration that eats a season, so they stay, and staying is the right call. The price of staying is that the integrations are poor and the reports are not easy. So every question the software would not answer became a spreadsheet, every spreadsheet became a copy of the truth that started drifting the moment it was made, and then the sheets had to be cross-referenced against each other and against the software itself, which is its own part-time job. The answer always existed. It just lived in three places that disagreed, and a four-person office was spending real hours reconciling them.
Attendance was the sharpest version of it. Taking attendance is a chore inside that ancient software, and a teacher mid-class, music going, floor full of kids, is going to miss it sometimes. That is not a teacher failing. That is a teacher teaching. But nothing flags the gap, and nobody in an office that busy has a spare afternoon to go hunting for it, so it surfaced the worst way it possibly can: a family asks for a refund, someone finally opens the record, and it turns out the student had not shown up to class in months. The first reliable attendance signal the office got was a refund request.
The small version of the same problem played out every single afternoon. It is 4:52 on a Tuesday and the 5pm jazz teacher wants one thing: did the trial student show? The answer lives in the studio software, on the desk computer, currently behind a parent with a tuition question. By 5:00 the question has expired. Multiply that by everything a studio asks itself in a day, and you can see what the growth was actually costing. Not the creativity. Not the relationships. Just hour after hour of walking questions to the one computer that could answer them, and spreadsheets standing in for the reports the software would not give up. Ripping out the system of record was never the move. The move was finding a way to live with its poor integrations and reporting without making four humans pay for them, and that is exactly the job Grok Bot took.
Staff learn nothing
A new staff app was never going to fix that, and spreadsheet number four was never going to fix the first three. A staff app is a thing part-time teachers install, forget the password to, and open twice. So I set one rule before anything got built: staff learn nothing. No new tool, no login, no training day. They already @mention people in Slack. Now they @mention Studio Bot.
Studio Bot is one name with a whole roster behind it. On the Grok Bot platform it is a roster of seats, a small leadership team and a bench of specialists, each holding exactly one job and one system. Ask Studio Bot anything and the ask lands with the seat that owns it, and the answer comes back in the same thread the question was asked in. Nobody picks a department. Nobody has to know there are departments.
I built it as many seats instead of one mega-bot on purpose. A single chatbot that pretends to know payroll, attendance, and the floor at the same time is worse than useless. It is confidently wrong in four directions at once. Small jobs, held by seats that actually own them, fail small. When the books seat does not know something, it says so, instead of improvising an answer out of the roster. And standing up a seat in Grok Bot is a name, a brief, and a handoff, which is to say it is hiring, minus the recruiting. I did not build a router, a memory system, a scheduler, or a Slack integration. I described an org, and Grok Bot was the org chart that runs.
Sitting down at the real software
The seat that killed the spreadsheets is the one that owns the studio software, and it works in a way that still delights me. That ancient software has no API. In a previous life that is where this project dies, or where it becomes six months of scraping I then own forever. Instead, the seat sits down at the real product in a browser, the same screens the front desk uses, and answers in Slack. Who actually showed this week? Who is enrolled where? Those questions now get asked out loud and answered by the seat that owns the system of record, instead of spawning spreadsheet number four. Grok Bot seats can operate the software a business already paid for, the way an employee would. For a studio with years of history locked in a system it cannot reasonably leave, that is the whole ballgame.
The books got the same treatment. The CFO seat tracks the P&L month over month, so when someone in the office wants to know how the month looks, they ask, and the answer comes from the seat that owns the books. Slack gets a status, not the ledger. Did this family pay? A yes or a no, not a data dump. Nobody wanted QuickBooks in a channel, least of all me.
Texting has a human in it by design. When a teacher says text the 5pm class we are in Studio 2, the seat drafts the message against the roster and a person sends it. Anything that goes out as the studio goes out through a human, from a number the studio owns. The bot drafts; it does not speak for us.
The cameras stayed deliberately small. A teacher who cannot leave class can ask to see Studio 1 and get a still of the room. Did the floor fill in? Is the space free for the 6pm? A picture of a room, not a face search. Footage stays where footage already lived. And every screenshot on this page is staged for the same reason the room below is empty: no family data goes on a public page.
The busy work left the humans
Let me say the honest thing plainly. Grok Bot did not grow Body Lab 40 percent. Heather and her team did that, class by class, family by family. What the roster changed is where the hours go. The questions that used to cost a walk to the desk computer, or a spreadsheet, or a week of not knowing, now cost an @mention.
Teachers stay on the floor. The 4:52 question gets answered at 4:52, while it still changes how class opens, and the person teaching two classes a week has exactly the same interface to the studio's systems as the owner does: a coworker in Slack. The back office asks instead of builds. The who-showed question gets answered while it still matters, and the how-does-the-month-look question gets answered by the seat that watches the books every day.
The maintenance surface is one person. I maintain the seats, and the seats do the work. When the studio grows a new job (merch was a later addition, room rentals another), the new hire is a name, a brief, and a handoff, not a project. That matters at a studio growing this fast, because the next job is always coming.
The staff never learned any of this happened, which was the goal. They @mention a coworker, and the coworker is a roster of Grok Bot seats. The busy work went to the roster. The high-touch, creative, personal work stayed exactly where it belongs, with Heather and the people on the floor. That is what we built, and that is how it helped.