jesse@moraga — ~/build
How I Coded an AI Assistant That Runs My Business by Voice and Text
I talk to it like a person. It runs the back office.
A process server with no CS degree built an assistant he calls — and that calls him — to handle the work behind the work.
Updated 2026-06-10 · by Jesse Moraga
1 · The idea: an assistant you talk to
2 · One brain, two faces
3 · What it actually does
4 · The rule that makes it safe
FAQ
I run a process-serving company by myself. The serving is the easy part — it’s the back office that eats the day: looking up a case, updating a status, sending a client an update, adding a charge, posting to social, finding someone who doesn’t want to be found. So I built an assistant I just talk to. I call it, or I text it in plain English, and it does the thing. It’s the closest I’ve gotten to cloning myself.
1. The idea: an assistant you talk to
No dashboard. No app to open. I say “what’s the deadline on the Ramirez case?” or “text the client on 0841 that I’m serving tomorrow” or “add a $75 rush charge” — the same way I’d tell a human assistant. The whole point is that the interface is a conversation, not a screen. When you’re in the field between jobs, talking is the only UI that actually works.
2. One brain, two faces
The trick that made it clean: I built one brain and gave it two ways in. Both faces hit the same set of tools, so I never wrote the logic twice.
And it’s not only me reaching it — it reaches me. The same system calls and texts me first: a morning rundown of what’s due, a heads-up when a payment lands, a ping when something’s stuck. I built the thing that asks me the questions now.
3. What it actually does
The tools are grouped by how much they can break:
The reads happen instantly — they can’t hurt anything. The writes are small and internal. The BIG ones — anything that touches money, a client, or a public post — are where the engineering actually matters.
4. The rule that makes it safe
Here’s the part I’m proudest of. Caller ID can be faked. A model can mishear. So the high-impact actions are physically incapable of firing on the first ask. When I say “email the client,” the assistant doesn’t send — it stages the exact message and texts it back to my own phone for a one-word “yes.” No yes, no send. The dangerous stuff always needs a second factor that only lives on my device.
That’s the whole philosophy of the system I built this on: let the AI take the 80% that’s repetitive off your plate, and put a hard human gate on the 20% that carries weight. I’m still the one who decides. The assistant just makes deciding the only thing I have to do. The code’s in my GitHub, and there’s more of these in the rest of TECHNICALLY SPEAKING.
One line I keep firm: the assistant runs the business — scheduling, invoicing, updates, reminders. It never touches the legal work. Every service of process and every sworn declaration is mine, done and signed by me, a Registered California Process Server. The machine handles the back office so I can do the part only a human can stand behind.
FAQ
Do you need to be a programmer to build something like this?
No. I’m a process server, not an engineer. You need to be clear about what each action is allowed to do — the judgment matters more than the syntax.
Isn’t it risky to let an AI email clients or charge cards?
Only if you let it fire blind. Mine can’t — every money or client action is staged and waits for my “yes” on my own phone before anything happens.
Leave a comment