How I Coded an AI Assistant That Runs My Business by Voice and Text




jesse@moraga — ~/build
// TECHNICALLY SPEAKING
$ call my-assistant –and-it-calls-back

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

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.

# two faces, one registry of tools
VOICE → I call the line, the assistant runs the call, calls a tool per step
TEXT → I text from my phone, a model loops over the same tools
# every tool = an EXISTING business function. nothing reimplemented.

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:

READ look up a case · find cases · next deadlines · today’s summary · find a person
WRITE add a note to a case · set a reminder
BIG email a client · change a status · add a charge · post to social

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.

Convenience and safety aren’t opposites — you just decide which actions get to be instant and which ones have to look you in the eye first.

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.

$ whoami
Jesse Moraga — process server who builds.
code → github.com/JesseMoraga · the system → art3ry.com

Central Valley Process Servers · Fresno, CA · PS-124 Madera County

Leave a comment