AI Automation

Automate the work nobody should be doing.

Your ops team is probably losing 15 to 30 hours a week to retyping. Invoices keyed into the ERP, support tickets sorted by hand, PDFs read line by line. We’re an AI automation agency for startups and lean operations teams, and we build the pipelines and agents that do that work instead. Your first production workflow goes live in 3 to 5 weeks, priced before we start.

Scope your first workflow

What we build

You end up with running systems, not a strategy deck.

Every one of these ships with the repository, the runbook and the alerting, and all of it belongs to you at handover.

Document processing pipelines

A PDF lands in a shared inbox or an S3 bucket. Ninety seconds later those fields are validated JSON in your database, each carrying a confidence score, and anything under the threshold waits in a review queue until somebody looks at it.

Invoice and purchase order extraction

Line items pulled from supplier invoices, matched against the PO, written to QuickBooks, Xero or NetSuite. Mismatches go to a person. The clean ones nobody opens again.

Support ticket triage and drafted replies

Inbound tickets classified by intent and urgency, routed to the right queue, with a suggested reply your agent either approves or rewrites. Wired into Zendesk, Intercom, Front, or your own tables.

RAG systems over your own documents

Hybrid keyword and vector search across contracts, SOPs, and three years of resolved tickets. Every answer cites the paragraph it came from, so your team can check it rather than trust it.

Agents that take actions, not just answer

An agent with an explicit tool list. It reads the CRM, creates the record, posts to Slack, and stops to ask a human when confidence drops. Every tool call is logged, replayable and reversible.

Workflow automation across the tools you already pay for

n8n or Temporal wiring HubSpot, Airtable, Stripe, Slack, and your internal API into one flow with retries, idempotency keys, and a pager alert when a step fails twice.

Classification and routing at volume

Tens of thousands of records a day tagged against your taxonomy, with a labelled evaluation set so you can see accuracy per category rather than one flattering average.

How we approach it

We reach for the model last, not first.

The first week goes on counting rather than coding. We sit with the person doing the task and time it with a stopwatch. A four-minute process that runs 180 times a week is 12 hours of salary, every week, forever. A nine-minute process that runs twice a month isn’t worth automating, and we’ll say so out loud. Plenty of candidate workflows fail that test, and hearing it in week one is cheaper for both of us than finding out in week six.

Then we resist the model for as long as we can. A typed parser, a lookup table and a regex beat a language model on cost, latency and reliability for anything with a fixed structure. A deterministic step costs nothing per run and fails the same way twice, which means you can write a test for it. In a typical document pipeline about 60 percent of the logic ends up as plain Python. The model comes in where the input is genuinely unstructured. Free-text notes, inconsistent supplier layouts, an email that could mean three different things.

For retrieval we start with hybrid search, and we almost never fine-tune. Fine-tuning costs real money to maintain, and the week your policy documents change you own a stale model. Retrieval augmented generation over pgvector, with a BM25 pass for exact terms like part numbers, gets you most of the way, and updating it means updating a document. Fine-tuning earns its place for narrow-format output at very high volume. It doesn’t earn its place for knowledge. If you’d rather settle that decision before anyone writes code, our AI consulting and readiness assessment does exactly that.

Every automation ships with a confidence threshold and a human queue behind it. A system that’s right 92 percent of the time and silent about the other 8 is worse than no system, because it quietly poisons your database. So we build a labelled evaluation set of 100 to 300 of your real documents before the first prompt reaches production, and we report accuracy per field. When a new model version lands, we rerun the suite instead of guessing. Working this way costs you something. The first two weeks look slow next to a demo someone can build in an afternoon. You see the difference in month three, when nobody has quietly gone back to doing it by hand.

Most of these systems need a face. A review queue, an exception dashboard, an admin screen for the ops lead. We build those in Next.js inside the same engagement, using the same practice behind our Next.js web development work. You can see how that comes together in our published case studies.

The furthest we have taken this is Fiona, a desktop AI voice agent we built for a client, which bridges a live phone call to a realtime model and prices every call from billed usage rather than an estimate.

The stack

Boring tools, chosen on purpose.

We’re not model-loyal. Every choice below has a reason attached, and we’ll swap any of it out if your constraints say otherwise.

Models

Claude, GPT, Gemini, Llama, Qwen

Frontier models for the reasoning-heavy steps. Smaller open models on your own hardware when the data legally cannot leave your network.

Extraction and parsing

PyMuPDF, Unstructured, AWS Textract, Docling

Deterministic parsers first. Textract for scanned and handwritten pages, where the layout matters more than the language.

Retrieval

pgvector, Qdrant, Pinecone, BM25

pgvector by default, because one Postgres you already run beats a second database you have to babysit. Dedicated stores above roughly 10 million chunks.

Orchestration

Python, LangGraph, Temporal, n8n

Temporal for long-running work that has to survive a crash. n8n where your ops team should be able to edit the flow without calling us.

Runtime

AWS Lambda, Cloud Run, Postgres, Redis

Serverless for bursty document loads, so you pay per invoice rather than per idle server. Redis for queues and dedupe.

Evaluation and observability

Langfuse, promptfoo, Sentry, OpenTelemetry

Every run traced with its inputs, cost and latency. Prompt changes go through a regression suite before they reach production.

Budget and timeline

What it costs, before you email us.

These are the bands comparable work has landed in. Scope is fixed and priced before kickoff. 50 percent falls due on contract and the balance on delivery, split into milestones above $30,000.

Automation audit

$4,000 to $6,000

1 week

We time your processes with a stopwatch, count the volumes, and hand back a written map of what to automate, what to leave alone, and the payback period on each. It includes one working prototype of the highest-value step, and the fee is credited against the build if you go ahead.

One production workflow

$12,000 to $25,000

3 to 5 weeks

One pipeline, live and monitored, with a review UI and an evaluation set behind it. Typical scope is invoice extraction into your ERP, or ticket classification into your helpdesk.

Multi-workflow platform

$30,000 to $65,000

8 to 14 weeks

Three to six connected workflows, a shared review dashboard, role-based access, and integrations across CRM, billing and internal systems. You get them one workflow at a time rather than in a single launch.

Ongoing support

from $2,500 per month

rolling, 30 days notice

Monitoring, model and prompt updates as vendors ship new versions, accuracy reporting, and a set number of change requests each month.

The bands above are estimates, shown in US dollars and drawn from comparable work already delivered, because no two projects carry the same scope. Your own quote is not an estimate: it is fixed in writing after scoping, before kickoff, and it does not move.

Four things move a quote inside those bands. How many source systems we have to integrate. How much your documents vary, because 3 suppliers is a different job to 300 templates. How high the accuracy bar sits, since moving from 90 to 98 percent roughly doubles the evaluation work. And whether your data is allowed to leave your network, which pushes you toward self-hosted models and adds infrastructure time.

Running costs come in lower than most people expect. At 5,000 documents a month, model inference typically lands between $40 and $250, plus $20 to $80 of hosting. We report those numbers per workflow, so you can read the unit economics rather than a cloud bill. If the payback period on a workflow runs past nine months, we’ll tell you not to build it and show you the arithmetic we used to get there. You can compare this against our full range of software services or send us the process you want automated and we’ll come back with a number inside two working days.

FAQ

The questions that decide it

Yes, if you build for the exceptions instead of the average. We target 95 percent or better on straight-through processing for a stable supplier set, measured against a labelled test set of your own documents. Anything that doesn’t clear the threshold goes to a person with the extracted fields already filled in. We report accuracy per field, which means a supplier reference that’s wrong 30 percent of the time can’t hide behind one good average.

A single production workflow takes 3 to 5 weeks from kickoff to live traffic. Multi-workflow platforms run 8 to 14 weeks and go live in stages, so the first automation is earning back its cost while we build the second. You’ll have a working staging URL in week one and a build to test every week.

You do, from the first commit. We work inside your GitHub organisation, or transfer the repository at handover. Prompts, evaluation sets, infrastructure config and documentation are all part of the deliverable, not our private tooling. Your data stays in your cloud account and your database throughout, and it is not used to train anything. We’ll sign your NDA and MSA, or use ours if that’s easier.

We’re on UTC+5. European clients get a full working day of overlap, and US East Coast clients get four hours from 9am ET. There’s one 30 minute call a week at a time that suits you, a shared Slack channel for everything in between, and we reply inside your working day rather than ours.

No. Most automation work sits between the systems you already run rather than replacing any of them. We read from and write to Salesforce, HubSpot, NetSuite, Zendesk, Airtable, Stripe and your internal APIs through their published interfaces. If a tool has no API, we automate around it with a queue and a small review step.

A chatbot answers a question; an agent does something about it. A chatbot for business support retrieves an answer and shows it to a person. An agent gets a tool list, so it can issue the refund, update the CRM record or reassign the ticket, then log exactly what it did. That’s why agents need permission boundaries and an audit trail, and why chatbots mostly need good retrieval.

Tell us the task you hate.

Send one paragraph describing the process and roughly how often it runs. We’ll reply with a scope, a price and a start date inside two working days.