Your AI answers the question correctly. Then nothing happens. Nobody is assigned. The lead never reaches your sales system. You cannot charge for what it just used. We hit all of that on our own product. Autonomous Technologies builds and runs the systems behind online stores and software products. Memox is our own AI platform, not a client brief: two paying customers, roughly $50k ARR as of 10 September 2026. Building the agent was the smaller half of the job.
| What we measured | Figure | Period |
|---|---|---|
| Continuous delivery on one product | 30 months, work in 27 of 31 calendar months | Mar 2024 to Sep 2026 |
| Reviewed changes merged into the backend | 446 | Mar 2024 to Sep 2026 |
| Tests required on new code before a build passes | 90% | in force at Sep 2026 |
| Paying customers and revenue | 2 customers, roughly $50k ARR | as of 10 Sep 2026 |
We rented the part of our own product that decided what to say
For its first year, Memox sent every customer chat out to a no-code flow tool. That is a service where you drag boxes on a screen instead of writing code. It was our reasoning layer: the part that picks the reply. We could not add our own tools to it. We could not see why it said what it said.
That is a commercial problem, not a matter of taste. A product that rents its core cannot price it. It cannot prove one customer’s data stays away from another’s. It cannot bill for what it burns.
Then the work stalled. Our code history shows 29 saved changes in January 2025, none in February, and three in March. Our own engineers wrote all three. Nobody rescued us. We restarted it ourselves.
AI agent development: owning the agent was the smaller half
On 5 August 2025 we replaced the flow tool with our own agent layer. It runs on LangGraph, an open-source library for wiring an agent’s steps together, over Microsoft’s hosted OpenAI models. It answers from documents a customer uploads and pages on their site. It calls tools we wrote: a container price lookup for Container One, calendar booking, and handover, which passes a live chat to a person.
That change took one afternoon. The year around it did not. If you are weighing custom engineering and integrations for an agent of your own, the model is rarely the expensive part.
Two names carried it. Usama, lead backend engineer, owned the backend and the billing. Abdullah, founding engineer, owned the widget rebuild, the mobile app and the server work. The engineer who wrote the first line in March 2024 was still merging work on 6 September 2026.
The old flow tool was replaced as the reasoning layer. It was never removed. Fifteen files still name it, and one customer still runs the old widget code. Say “replaced”, never “removed”, and keep that search in your release checklist.
The widget, the dashboard and the billing are what a customer touches
The widget is the line of code your customer pastes into their own site. We rebuilt ours inside a Shadow DOM, a browser feature that walls off the widget’s styling so the host page cannot break it. The build fails if the file crosses 160KB, or 50KB once compressed. The cost to your customer’s page stays visible during the build.
The dashboard is where a sales rep works: live chats, assignment, who is online, and taking a conversation off the AI mid-sentence.
The billing is a prepaid balance held in Stripe. Usage is counted, and the balance is checked before a paid feature runs. A repeated payment notice does not credit the balance twice, because we designed for that rather than discovering it.

The money path took ten fixes in fifteen days
Between 24 July and 7 August 2026 we landed ten separate fixes to billing. A plan that did not update after checkout. A missing currency field that broke sign-up.
None of that is exotic. All of it is the difference between an invoice and a refund. Our phone agent charges a call the moment it ends, for the same reason, and that build is covered in the voice agent write-up.
| What changed | Before | After |
|---|---|---|
| Who decides what the agent says | A rented no-code flow tool | Our own agent layer, from 5 Aug 2025 |
| Work in the worst month | None in Feb 2025 | 163 saved changes in Apr 2026 |
| Charging for usage | Worked out by hand | Counted balance, from 15 Apr 2026 |
| Widget install cost | One plain JavaScript file | One line, style-isolated, 160KB limit |
| Customer hours saved by the agent | Not measured | Not measured |
That last row is the honest one. No usage total exists in our records, and we did not invent one to fill the table.
We found our own cross-tenant defect seventeen months late
In June 2026 our own internal review found a scoping defect in a file we had owned for about seventeen months. Many customers share one system, and scoping decides who sees what. It was graded top severity and fixed the same week. There is no evidence any tenant’s data was read across the boundary, and no customer reported it. The rule we now follow: review the code you inherited on the same schedule as the code you wrote.
We would rather write that than let a buyer find it. The same habit runs through our outbound work, where a separate critic attacks the build before a client sees it, described in the outbound engine build.
Who this is for, and who it is not for
This is for the founder or operator about to put an AI agent in front of customers, who still answers for the lead and the invoice afterwards. If you run a store, the same shape applies to an order, a return or a stock question.
It is not for you if you want a chat box on a marketing page with nothing behind it. That is a weekend of work. It is also not for you if nobody on your side can own the documents the agent reads. Answer quality is a content problem first.
What we would do differently: cut the old flow tool loose completely instead of leaving fifteen files behind, and review inherited code in month two rather than month seventeen.

Questions and answers
What did you own instead of renting?
We own the reasoning layer: the part that decides what to say and when to hand over. We still rent models, hosting and payments. The test is whether you can change the behaviour without asking a vendor.
Can the agent use business-specific information?
It answers from documents you upload and pages on your site, and it can call tools built for you. Container One’s price lookup is one. Each new tool needs its data and its permissions agreed first.
What happens when a person needs to take over?
Handover is built into both the agent and the dashboard. A rep takes the chat mid-sentence with the history in front of them. Design it early. Adding it later means rebuilding how you store conversations.
How should we choose our first AI workflow?
Pick one narrow task with a single source of truth and an obvious handover point. Decide what a finished job looks like before you pick a model. Then connect the agent to whoever finishes that job.
What should we ask an AI agent development company?
Ask what it owns and what it rents. Ask who takes over from the agent. Ask how usage is charged. Memox is our own answer to all three, so we can show you the history instead of a deck.
