Services · AI agent development
Small agents that do one boring job properly.
We build narrow, supervised automations for ecommerce operations: reconciliation, exception triage, document reading, drafting. Measured against a baseline we set first, so you can tell afterwards whether it worked.
Every build starts with the diagnostic. A$5,000–A$8,000, two to three weeks.
The problem
The work worth automating is the work nobody demos.
The demonstrations are all customer-facing, because customer-facing is what looks impressive on a stage. The actual cost in an ecommerce business at this size is somewhere much duller: a person matching rows between two systems, a queue being sorted by hand every morning, an email being read to find one number, a file being opened to check whether it will print.
Individually none of these is worth a meeting. Added up across a week they are frequently the largest recoverable cost in the operation, and unlike advertising they compound in your favour — fixing the task once fixes it for every order after that.
The reason these tasks survive is that they sit between systems. Shopify can automate inside Shopify. The 3PL can automate inside the warehouse. Neither can see the gap between them, and the gap is where the person is standing. That is the space we build into, and it is also why an off-the-shelf app rarely closes it.
The second reason is scepticism, earned. Most people reading this have already paid for one automation that quietly stopped being used because nobody could show it was doing anything. That is a measurement failure, and it is why we will not start a build without a baseline.
What we build
Six shapes of work, all of them in production somewhere.
These are the categories that keep coming back. Most engagements are two or three of them, not all six, and the diagnostic decides which.
Reconciliation between systems that disagree
Shopify, the 3PL and the finance export each hold a version of the same order. An agent reads all three on a schedule, matches them, and produces a short list of the ones that genuinely differ with the likely reason attached. The person who used to rebuild that in a spreadsheet reviews a list instead of assembling one.
Exception triage
Most operational queues are ninety per cent routine and ten per cent judgement. An agent sorts the queue: routine items handled or pre-filled, the judgement calls surfaced with the context already gathered. Nobody loses the ability to override, because override is the design.
Artwork and asset checks
In decorated apparel, a file that will fail on press costs a reprint, a delay and a support ticket. Checks run at intake — resolution, colour space, placement, bleed, transparency — and the order is flagged before it reaches production rather than after. Every category has its version of this.
Support drafting, not support answering
The agent assembles the order history, the fulfilment state, the courier scan and the policy, then drafts a reply. A person reads it and sends it. That is a deliberate limit: the failure mode of an agent replying unsupervised to a customer is far more expensive than the minutes it saves.
Reading documents nobody wants to read
Supplier confirmations, freight manifests, remittance advices, spec sheets. Structured extraction into the system that needs the data, with a confidence figure and a human check on anything below it. Unglamorous and consistently the highest return item on most lists.
Watching for things that shouldn't be true
Stock that has not moved in a week on a product that normally sells daily. An order stuck in a state for longer than that state has ever lasted. A supplier price that changed. Monitoring is where automation earns its keep quietly, because it catches the problem you were not looking for.
How we build
Six rules we don’t break.
They exist because we run these systems in our own business, where a bad automation is not a support ticket, it is a reprint and an apology.
The baseline goes in first
Before an agent is written we record what the task costs today: how many times a week it happens, how long each one takes, and how often it goes wrong. Without that number there is no way to say afterwards whether it worked, and 'we think it feels faster' is not a result.
Narrow beats general
An agent with one job, a defined input and a defined output is testable, cheap to run and easy to reason about when it misbehaves. A general assistant with access to everything is a demo. We build the first kind.
A human stays in the loop where it matters
Anything that touches a customer, moves money or changes stock gets reviewed by a person until the numbers say it doesn't need to. Some tasks never graduate. That is a legitimate end state, not a failure.
Deterministic code where deterministic code will do
A large part of most agent projects turns out to be plain logic, a scheduled job and a well-shaped query. We use a model where judgement over messy language is genuinely required, and ordinary code everywhere else. It is cheaper, faster and it does not drift.
It gets tested against real cases
We build a set of real examples from your own history, including the awkward ones, and measure the agent against them before it goes anywhere near production. When behaviour changes later, the same set tells you whether it got better or worse.
You own it
Code, prompts, evaluation sets, infrastructure and data are yours from day one, in the agreement. It runs on standard infrastructure any competent developer can pick up. We would rather you could leave and chose not to.
Qualifying
Who this is for, and who it isn’t.
If you are in the right-hand column, we would rather you found out here than three weeks into a diagnostic.
This is for you if
- There is a task someone performs a hundred or more times a week, in roughly the same way each time.
- The inputs already exist in a system — orders, tickets, documents, files — rather than in someone's head.
- A wrong answer is recoverable, or a person can check it before it leaves the building.
- You are doing $1M–$50M and the operations team is the constraint, not the marketing budget.
- You want the boring wins before the impressive ones.
This is not for you if
- You want a storefront chatbot or an AI shopping assistant. Off-the-shelf tools do that for a fraction of this and we would point you at them.
- The task happens a few times a month. The maintenance will cost more than the labour it replaces.
- The rules cannot be written down by a person, because the person doing it cannot explain how they decide.
- The underlying data is not clean enough to act on. Fix that first — it is usually the higher-return project anyway.
- You need the agent to act unsupervised on money, stock or customers from day one. We will not build that.
Scope and price
Quoted before anything starts.
Fixed-scope work is a single number agreed in writing, and it does not move unless the scope changes in writing. Subscriptions are priced on the work involved, not on your order volume — triple your orders and the invoice stays where it is.
| Item | Detail |
|---|---|
| Starts with | The Operations Diagnostic, A$5,000 – A$8,000, 2–3 weeks |
| Build price | A$25,000 – A$60,000, quoted as a single number before we start |
| Build duration | 6–12 weeks depending on how many systems it touches |
| Ongoing | A$2,000 – A$8,000 / month, rolling, 30 days' notice |
| Ownership | Code, prompts, evaluation sets and data are yours from day one |
| Running costs | Model and infrastructure usage is billed to your accounts, not marked up through us |
Questions
What people ask before booking.
A small program with one job, a defined input and a defined output, that uses a language model for the part requiring judgement over messy text and ordinary code for everything else. It reads from your systems, does the task, and either writes a result back or hands a person something to approve. It is not a chatbot and it does not sit on your storefront.
Those features are built for the average customer of that app, which means they stop at the edge of that app's data. The expensive work in most operations sits between systems — where Shopify, the warehouse and finance disagree — and no single vendor can see across that boundary. That gap is what we build into.
In our own business it moved people off data entry and onto work that needed a person. We would not promise a headcount reduction, and we will not put an unverified one on this website. What we will commit to is measuring the hours the task took before and after, and telling you what actually changed.
It will, which is why anything touching a customer, money or stock gets a human check by default and why we build an evaluation set from your real history before deploying. The design question is not whether it errs, it is whether the error is caught, cheap and visible. If it can't be all three, we don't automate that task.
Whichever is appropriate for the task, and the choice is written down with the reason. A lot of the work needs no model at all. Where one is needed we keep the integration replaceable, because the price and capability of these things has moved every few months and locking a business to one provider is an avoidable risk.
You do, directly, on your own accounts. We do not mark up usage or resell it, so there is no incentive on our side for the system to be chattier than it needs to be. Most operational agents cost less to run each month than one afternoon of the work they replace.
The diagnostic takes two to three weeks. The first agent from a build usually lands in production within a few weeks after that, because the first item on the ranked list is chosen partly for being deliverable early. The full build runs six to twelve weeks.
It runs, and you own all of it. The ongoing subscription exists so there is a named owner for monitoring and small changes, but it is optional and cancellable on thirty days' notice. Everything is built on standard infrastructure so your next developer can take it over without a handover ritual.
Next step
Start with the diagnostic.
It sets the baseline and ranks the candidates. If nothing on the list justifies a build, that is what the document will say.
Ace takes these calls. Not a salesperson, because there isn’t one.