Projects / 2026
Building an AI Assistant That Actually Ships
Every demo video makes this look easy. Type a prompt, get a perfect draft, cut to credits. Nobody shows the eighteen months of trust boundary decisions, the redaction logic, or the meeting where someone asks "what happens when it's wrong" and you actually have to have an answer.
That's WPAS. An AI assistant meant to draft support responses for a team that talks to real customers about real accounts, all day, every day. The brief sounds simple: read the ticket, understand the intent, write something a human can send. The actual system is a pipeline with opinions. A request comes in and gets classified for intent first, then routed against a knowledge base using tag matching rather than a single model trying to know everything at once. From there it hits specialist sub agents. One handles pricing questions, one handles debugging, one handles de escalation, one handles closing a ticket out cleanly. Each one is narrow on purpose, because a model that's good at calming down an angry customer is not automatically good at explaining a billing cycle, and pretending otherwise is how you get confidently wrong answers.
The part that took the longest wasn't the language model work. It was everything around it. PII gets redacted twice, once early and once right before the draft is assembled, because catching it once is optimism and catching it twice is engineering. The outputs from every sub agent get merged in a fixed order so the final draft reads like one voice instead of four opinions stitched together. And nothing, ever, gets sent without a human reading it first. This isn't a chatbot replacing a person. It's a very fast first draft that a person is still responsible for.
The trust boundary was non negotiable from day one. Everything runs locally, talking only to an internal gateway, no data leaving through a third party API. When you're building something that touches customer accounts, "it works great" isn't the bar. "I can explain exactly where this data goes and prove it" is the bar, and that shaped more architecture decisions than the actual AI part did.
There's a style layer sitting on top of all of it too, rules as strict as the code. No em dashes in drafts, never say "I understand," ask permission before touching an account with the exact same phrase every time. It sounds small until you realize consistency is the whole product. A support team doesn't want a clever assistant, they want a reliable one, and reliable means boring in all the right places.
Is it done? No. It's shipping in pieces, getting reviewed, getting argued with in meetings, getting better because of that friction and not despite it. That's the actual work. Not the demo. The plumbing.