███╗   ███╗ ██╗   ██╗  ██████╗ ███████╗ ██╗
████╗ ████║ ╚██╗ ██╔╝ ██╔════╝ ██╔════╝ ██║
██╔████╔██║  ╚████╔╝  ██║      █████╗   ██║
██║╚██╔╝██║   ╚██╔╝   ██║      ██╔══╝   ██║
██║ ╚═╝ ██║    ██║    ╚██████╗ ███████╗ ███████╗
╚═╝     ╚═╝    ╚═╝     ╚═════╝ ╚══════╝ ╚══════╝
DemoAcademyPricing
Sign inBook a meeting

Building the harness · August 24, 2026 · 8 min

Services are data, not code

A bookkeeping service in our system is a JSON manifest, a folder of markdown, and an output schema. No module, no deploy, no engineer. The consequence that matters is not speed — it is that domain expertise stops being something only a programmer can add.

By Islam Hachimi, Founder

A good bookkeeper knows a thousand small things. That paying a person is different from paying a company. That a round number to a name you have never seen is worth asking about. That a laptop might be an expense or might be an asset, and only the owner can say which.

None of that is written in a manual. It lives in their head.

So how does it get into software? Usually like this: the bookkeeper explains it to a programmer. The programmer writes down roughly what they heard. That rough version ships. The person who actually knew the job is now three steps away from it.

Adding a service as code versus as writing
The real question is not how fast you can build. It is who gets to add what they know.

A restaurant is not its oven

Two restaurants can have the exact same kitchen and serve completely different food. The oven is not what makes them different. The recipes are. The standards are. The person calling service is.

Most software that tries to automate a service builds the oven, then bakes one menu into it permanently. We split them apart.

The kitchen is fixed: doing the work, keeping client data safe, talking to customers, taking payment. That part is the same for everyone. A service is the recipe — what this business does, how it decides things, what good looks like, what it costs.

And a recipe is just writing.

Here is the test. Can you add a brand new service, for one customer, today, without a programmer? If not, you have not really separated anything.

What a service turns out to be

Once you stop building them as software, a service comes down to four things — and all four are things you write, not code:

  • What jobs there are. Close the month. Chase this invoice. Screen this candidate.
  • What finished looks like. Not "it's done" — the specific things that have to be true first.
  • The craft. How to decide. When to ask instead of guessing. What never to do.
  • What you need from the client to start, and what the work costs.

None of that is engineering. All of it is what an experienced person has and a beginner does not.

Always write down the why

The most valuable files in our whole system are short notes that read like an old hand briefing someone new. And they always say why.

"Ask about the rule, not the transaction" is a fine instruction on its own. It sticks when it comes with the reason:

Asking "how should I file this $48 to Acme Supplies?" gets you an answer once — and you will ask the same thing again next month. Asking "Acme Supplies shows up every month, is that always office supplies?" settles it forever.

A rule without a reason gets dropped the first time it is annoying. That is true of people. It turns out to be just as true of AI.

Where you have to draw a line

Not everything can be writing. If you let it be, you end up with something very flexible and quietly unsafe. So:

Writing decides what the work is. Which jobs, what good looks like, how to judge, what to charge.

Code decides what is allowed. Who can see whose data. What needs a human to say yes. Which keys a job can hold. How often one person can be contacted.

A recipe can ask to use the oven. It can never hand itself the keys to the building. That is what makes it safe for a service to be written on the fly — even by the system itself, after talking to a business owner. The worst a bad description can do is describe a service badly.

The catch

You lose the safety net. With software, the computer tells you when something does not fit. With writing, a note that nobody hooked up just... does nothing. Quietly. Possibly for months.

We check for that automatically now. It is a boring check and it earns its keep, because that failure is invisible by design.

Worth it anyway. The slow part of automating a service business was never how fast anyone could write software. It was getting what the expert knows into the system without it going through a translator first.

Everything described here is in the kernel that runs Mycel — the scheduler, the wedges, the guards, and the tests that hold them.

Read the kernel →More writing →

Read next

  • Output schemas are completion contractsMost agent frameworks treat a schema as validation applied after the fact. Treat it instead as the definition of done — the run ends the moment a valid result is written — and three unrelated problems disappear at once: unbounded loops, unresumable runs, and work nobody can grade.
  • One config for every task is the original sin"Build a website for this business" and "decide the next step on this overdue invoice" are not the same job, and giving them the same tools, permissions and credentials is how an agent system becomes unsafe. Three shapes, and a build run that can never hold a send token.
  • Fulfilment is not one shotReal service work is not a single prompt. A weekly visibility report is twelve independent measurements and one aggregation; a month-end close is strictly sequential and stops dead without a bank statement. Both need a run that can suspend itself as a row and resume days later.

Take the client you turned down last month.

Describe what you deliver and the first draft exists before you have finished your coffee.

Start 7 days free

The first AI delivery firm. You sign.

All systems operational

Ask an AI about us

  • Claude
  • ChatGPT
  • Perplexity

It reads the site and answers on its own. We do not get to edit what it says.

Product

  • What you get
  • Pricing
  • Changelog
  • What it runs
  • Free reports
  • Product map
  • Team
  • Blog
  • Glossary
  • AI Visibility Index
  • Sign in
  • Docs

Compare

  • vs ChatGPT, Claude, or whichever tab is already open
  • vs Grok Bot and the AI-employee platforms
  • vs Hiring an account manager
  • vs Profound
  • vs Otterly
  • vs Building it yourself
  • vs Zapier & n8n
  • vs Temporal
  • vs LangGraph
  • vs CrewAI & AutoGen
  • All comparisons

Legal

  • Privacy
  • Sub-processors
  • Terms
  • DPA
  • Security
███╗   ███╗ ██╗   ██╗  ██████╗ ███████╗ ██╗
████╗ ████║ ╚██╗ ██╔╝ ██╔════╝ ██╔════╝ ██║
██╔████╔██║  ╚████╔╝  ██║      █████╗   ██║
██║╚██╔╝██║   ╚██╔╝   ██║      ██╔══╝   ██║
██║ ╚═╝ ██║    ██║    ╚██████╗ ███████╗ ███████╗
╚═╝     ╚═╝    ╚═╝     ╚═════╝ ╚══════╝ ╚══════╝