Building in public
Staci solves half of resident requests. How, and what it took.
Staci is the agent that reads every resident message at the companies we run. This is how she went from drafting replies to resolving one in two requests end to end, and the parts that were harder than the model.
When a resident at one of our companies sends a message, Staci reads it first. She resolves about half of those requests end to end, with no person involved. Of the requests she sees, 96 percent reach a clear next step: resolved, or handed to the right person with the context already gathered. Residents rate her replies 92 percent satisfied.
Those are the numbers on our homepage. This post is about how they happened, because the interesting part was never the model.
What Staci actually does
Staci lives inside our operations platform, alongside the people who run each company. She can read what a good coordinator would know: the lease, the ledger, the home's maintenance history, access codes, the vendor roster, the owner's preferences. She can take a narrow set of actions, each one validated, logged and reversible. Reissue a door code. Send the autopay link. Book an inspection. Prepare a work order and note it for the person who owns it. Set up a promise-to-pay or a payment plan. Escalate to a person with a summary attached.
That last action matters as much as the others. Staci is not trying to handle everything. She is trying to handle what she can handle well, and to make the handoff for everything else better than a cold inbox. A trust and safety concern, a legal question, anything with real money attached: those go to a person, with full context, in minutes. That is a resolution too.
How she got to half
The path was not a model upgrade. It was a sequence of decisions about scope, review and feedback.
She started by drafting, not sending. For the first stretch every reply was drafted by Staci and approved by a person. This was slower than letting her run, and it built the dataset everything else depends on: thousands of real requests, each with a human's correction.
Every reply gets scored. The team reviews Staci's responses on five dimensions: accuracy, knowledge, action, tone and safety. A reply can be factually right and still fail on tone, or get the tone right and take the wrong action. The scores are the product. Corrections and great examples are captured as structured learnings, indexed by issue type, and retrieved the next time a similar request comes in.
Ticket types graduate one at a time. Staci only resolves a category unsupervised once she clears a scored eval set for it. Lockouts graduated early. Ledger questions took longer, because the failure mode is a confidently wrong number, which is worse than no answer.
A judge on every reply. Earlier this fall we rebuilt Staci's engine so that nothing sends without an independent quality check. A second pass reads her draft against the resident's request and the account before it goes out. It catches the replies that are fluent and wrong.
Actions are safe by construction. Every write Staci can perform runs through a layer that validates the inputs, records who did what, and can roll it back. We have a healthy fear of an agent that can do things, so we built the thing that makes it safe to let her.
The three weeks that moved the number
Through the summer Staci was resolving roughly four in ten requests on her own, and the number had stopped moving. So in late September the team ran a three-week eval sprint. Operators and engineers graded 130 of her runs by hand, one at a time, and named every escalation that did not need to happen.
About half of them did not. Staci was handing off requests she could have answered directly, or could have resolved by asking one clarifying question. On charge questions she was escalating instead of explaining the ledger line first. Her collections gates were tighter than the policy required. Her work-order notes were not posting where the maintenance team would see them. None of these were model problems. They were scope and plumbing problems, and the fixes shipped within days of being named.
Three weeks later she was resolving about half of all requests, and more than that at Haven, where the documentation is newest and most complete. The quality score held above 92 percent the whole way.
What it took that we did not expect
- Operators in the loop, every week. The people grading Staci's replies are the people who used to write them. Nobody else would catch that a reply is technically correct and still the wrong thing to say to this resident in this building. Our head of resident support graded more runs than anyone.
- Documentation is the ceiling. Staci is best where the policies and processes are written down most completely. The gap between companies tracks the gap in their documentation, not anything about the agent.
- A shared corpus across companies. Bungalow, Haven, Atlas Lane and Homeroom all run on the same system, so every company adds thousands of homes of operational history to one corpus. A correction made at any of them teaches Staci at all of them, and the next company we add starts with everything the others have already learned. Single-company tools cannot do this, and it is most of why the curve keeps bending.
- Patience on the hard categories. We could have claimed a higher number months earlier by letting Staci answer ledger questions sooner. The number would have been better and the product worse.
What is next
Half is not the ceiling. Most of the remaining requests need a person's judgment or a person's hands, and the goal there is not to remove the person but to hand them a case that is already understood. The next piece of work is an agent for exactly that handoff. If you are building agents that take real actions in the real world and want to compare notes, we are hiring, and we answer email.