AI System Design for an Enterprise Real Estate Client
The ask: eight professional domains, end to end
At Huzi, a national title insurance company asked us for AI tools covering eight professional domains across three user groups: real estate agents, title and escrow sales reps, and internal marketing technology directors. Transaction coordination, sales, marketing, lead generation, social media in two variants, B2B conversion, SEO and AI-visibility auditing.
Each specification described an end-to-end autonomous system. The transaction coordinator spec envisioned an AI that would open title orders, populate MLS fields, schedule vendors, and track compliance deadlines. The sales coach request listed roughly twenty use cases of startling specificity: a "12-week multi-channel cadence," an "automated scorecard capturing talk/listen ratio." It also contradicted itself. One requirement said to ask at most one or two clarifying questions and otherwise proceed with defaults; another said never make assumptions, always ask the requester to clarify. One section specified a 6th-to-8th grade reading level; another said 12-year-old. These requirements hadn’t been reconciled.
This is the modern requirements problem: an exhaustive, specific, unbuildable document, generated faster than anyone can sanity-check it. The job was to read through the document to the work underneath it.
The translation
End-to-end autonomy was the wrong target for a second reason beyond feasibility. Chaining autonomous steps through high-liability professional work compounds the failure rate at every link: wrong data in an MLS field, a missed compliance deadline, a communication sent to the wrong party. The responsible version of what the specs described would have required integration depth and validation layers far beyond the engagement.
So each domain got reframed around the distinct, repeatable tasks that sit underneath the high-stakes work. The twenty-odd sales coach asks became five focused plays: a lead management planner, a time management assistant, a script writer, a conversation analyzer, and a negotiation preparer. That reframing happened eight times, once per domain, and each deliverable included what not to build and why.
Sometimes the deliverable was the no itself. When the client later asked for a social media coach serving all three user groups, I sent a scoping memo instead of starting the build: caption writing for an agent targeting consumers is a different job from caption writing for a sales rep targeting other agents, so "building for three audiences with separate frameworks and compliance considerations is functionally building three separate coaches. That's 9-15x the architectural complexity of anything we've delivered so far." The multiplier was napkin math and I knew it, but the shape of it was the argument. I recommended building it purpose-built for agents on the current timeline, scoping the other two audiences as separate builds with their own requirements, and then proceeded on that recommendation rather than waiting for sign-off, because the deadline didn't wait either.
The system
Each coach is built on a single master prompt: a frameworks knowledge base synthesized from the books, methodologies, and industry experts the client specified, plus the coach's role, tone, capabilities, and guardrails. The user picks from a menu: talk to the generalist, which starts with diagnostic discovery, or go directly to a specialized play. Each play is the same master prompt with a task module appended, so the coach's identity and rules stay identical across every entry point.
The two social media coaches show why the architecture had to work this way. They share five play names (caption writing, video scripts, bio optimization, engagement strategy, response library) and serve completely different users: one is built for agents doing client acquisition, the other for title reps developing B2B partnerships. Same structure, different frameworks and strategic intent underneath. Knowing when two things that look identical need to be built separately was a recurring part of the work.
The full system: 3 audiences, 8 coaches, 40 specialized plays, 6 generalist modes, deployed across audience-specific configurations on the platform.
The testing
An architecture diagram is not evidence that any of it works, so the plays went through adversarial roleplay before delivery. Roleplay isn't an eval suite; it was the fastest way to find the failures worth fixing before real users hit them. I had a second AI play the least AI-savvy agent it could honestly simulate, with instructions to "use sample information and don't make it too easy for the AI," and ran the same test in separate conversations so one lucky run couldn't fool me. My brief for the simulated user, from a later session: real users "don't know how to give necessarily enough context... We want to make the agent, the AI, get us 51% of the way there. And this is a professional, right? This isn't a therapy thing."
Both brand-building runs found the same failure. The play opened by asking for five things at once: production level, target market, existing brand elements, twelve-month goals, differentiators. One simulated agent gave rambling half-answers ("I closed maybe like 15 deals last year? Some were pretty good ones") and finally asked, "Is this enough information or do you need more? I'm not really sure what you're looking for here." The other ("For branding I literally have nothing lol") ended with "Can you just tell me what I should be doing?" A user who can't answer your intake question doesn't need a better-worded question; they need the assistant to start from almost nothing. The same month I rewrote the prompts' follow-up rules around a related failure, stacked asks after a draft, landing on: choose one type of follow-up, a request for information or a strategic question, and "never combine both in the same message."
The maintenance question got its own answer later, when the whole system migrated to a new platform version: roughly 600,000 tokens of prompt content moved with byte-level verification against the originals rather than spot checks, on the argument that a deployed prompt system is like a space telescope, you can't fix the errors you discover after launch. The verification caught an AI-assisted refactor that had quietly rewritten content instead of copying it, which is exactly the class of error spot-checking misses.
The deeper fix came from watching the coach's conversational habits across a whole session. An early version carried the rule "Always conclude with 1-2 thoughtful follow up question." It produced exactly what it asked for: a question at the end of every message, forever, which reads as robotic by the third exchange. The final version deletes that rule and replaces it with a framework for question quality: at most one question, a taxonomy of the question types worth asking, and named anti-patterns written directly into the prompt. The Obvious Echo ("so it sounds like follow-up is challenging for you?"). The Therapy Prompt ("how does that make you feel?"). The Motivational Poster ("are you ready to take your business to the next level?"). The Repeat Offender, ending every single response with a question. The decision logic ends with a test: "Could I coach them forward without asking this?" If yes, don't ask.
The takeaway
The prompts are the artifact. The decisions about what to build are the work. Every domain started with a specification describing the most technically demanding version of the job, and the recurring move was finding the high-leverage, low-fragility tasks inside it, building coaching tools around those, and then testing the result against the least prepared user I could imagine instead of the most impressive demo I could give.