AI agent development
AI Agents That Run Real Operations — Not Chatbot Demos
An agent earns its place when it removes a recurring human task end to end and is trusted to keep doing it unattended. Everything else is a demo. We build the first kind, with audit trails and approval gates so the people responsible stay responsible.
Agent, workflow, or chatbot — pick the right one
Most disappointing AI projects are the right technology applied to the wrong shape of problem. The distinction is simple:
| Use it when | Do not use it when | |
|---|---|---|
| Workflow | The steps are known and stable. Deterministic, cheap, debuggable, auditable. | The input is unstructured and the next step genuinely depends on judgement. |
| Chatbot | A human wants an answer from a known body of knowledge, right now. | The job is to do something rather than to say something. |
| Agent | The task needs interpretation, tool use, and a variable number of steps to reach a defined outcome. | A workflow would do it. An agent where a workflow suffices is slower, costlier and less predictable. |
We will tell you when the honest answer is a 15-node workflow instead of an agent. It happens often, and it is a cheaper, more reliable system.
Reference architecture
The shape we have converged on after building these in production:
- Orchestrator. Receives the request, decides which specialist handles it, keeps the thread coherent. It routes; it does not do the work.
- Specialist agents. Narrow, individually testable units — intake, reporting, media, search, outbound. A narrow agent with three tools is dramatically more reliable than one agent with thirty.
- Tool layer. Explicit, typed, permission-scoped access to the systems that matter: databases, CRM, calendars, storage, messaging. Every call is logged.
- Memory. Conversation state, entity records and long-term facts in a real datastore (Firestore or Postgres) — not stuffed into a context window and hoped for.
- Human approval gate. A review step in front of anything irreversible or customer-facing. In our own systems the operator approves from WhatsApp in one tap.
- Observability. Every run traceable: what came in, which agent handled it, which tools fired, what went out, what it cost.
Agents we have shipped
Intake and task capture
Unstructured WhatsApp chatter — text, voice notes, photos — turned into structured tasks with an owner and a due date, then written to the system of record. Case study.
Reporting
An agent that assembles a weekly executive report from live project data and delivers it to the decision-maker on WhatsApp, unprompted, on a schedule.
Media production
Raw photos scored, selected, captioned, rendered and queued for publication, with a producer approving before anything goes public. Case study.
Outbound
Prospect research, per-prospect asset generation, delivery and reply drafting, with a human approving every outgoing message. Case study.
Model choice and cost control
Model spend is an engineering variable, not a fixed cost. What actually moves it:
- Routing. Cheap fast models for classification, extraction and bulk passes; strong models only where judgement or customer-facing writing is involved. This is usually the largest single saving.
- Doing less inference. Deterministic code, cached results and prompt caching for stable context beat a cleverer prompt almost every time.
- Provider independence. We build against an abstraction so a model can be swapped when pricing or quality shifts. We currently run Gemini and Claude in production systems and pick per task.
- Budget instrumentation. Cost per run tracked and alerted on, so a runaway loop is caught in minutes rather than on the invoice.
Guardrails
The things that decide whether a business keeps an agent switched on after month one:
- Audit trail. Every action attributable, inspectable and explainable after the fact.
- Review queue. Anything irreversible waits for a person. Approval takes one tap and lives where the operator already is.
- Batch and rate limits. Hard ceilings in code on how much an agent can do in one run. Enforced by the system, not by the prompt.
- Idempotency and rollback. Retries do not double-send, and a bad run can be reversed.
- Scoped credentials. Each agent gets the minimum access it needs, and its keys can be revoked independently.
- Graceful failure. When an agent is unsure, it escalates to a human instead of inventing an answer.
How we engage
- Scoping workshop. We pick one task with a measurable current cost in hours or errors. One, not five.
- Prototype. Running against real data, evaluated on your cases rather than a happy path.
- Production build. Guardrails, observability, deployment, documentation and handover.
- Operate or hand over. A retainer if you want us watching it, or a clean handover to your team if you do not.
Prototype engagement — from USD 1,200, running against your real data in 10–14 days.
Production multi-agent system — from USD 2,500, scaling with integrations and volume.
Operating retainer — from USD 400/month, including model-cost monitoring.
Dedicated capacity retainer — from USD 3,000/month, for teams shipping agents continuously rather than once.
Model and infrastructure costs are billed to your own provider accounts, so you see them directly. Ad-hoc work outside a retainer is USD 45/hour.
Frequently asked questions
What is the difference between an AI agent and an automation workflow?
A workflow executes known steps in a known order. An agent decides which steps to take, using tools, to reach an outcome you defined. Workflows are cheaper and more predictable, so we use them wherever they are sufficient and reserve agents for tasks that genuinely need interpretation.
Can agents run on our own infrastructure?
The orchestration and data layers can run entirely on your servers, including in-country. The model itself is normally a hosted API; where data residency forbids that, we design around it with local or in-region models and by keeping sensitive fields out of prompts.
How do you stop an agent from doing something harmful?
Scoped credentials, hard batch limits enforced in code, idempotent actions, and a human approval gate in front of anything irreversible or customer-facing. Prompts are guidance; the limits are engineering.
Which models do you use?
Gemini and Claude in production today, chosen per task, behind an abstraction so a model can be swapped without rewriting the system. We route cheap models for bulk work and strong models for judgement.
How long before an agent is doing useful work?
A scoped prototype on real data takes weeks, not months. Getting from a working prototype to something you trust unattended is the longer half of the project, and it is mostly guardrails and evaluation.
Do you work with our existing developers?
Yes. We build inside your repositories and cloud accounts where you want that, document as we go, and hand over cleanly. Several clients keep us for the agent layer while their team owns the product.
Bring us one task that eats your team’s week
We will tell you whether it should be an agent, a workflow, or left alone — and what it would take to build. The scoping conversation is free and you keep the analysis.