AI engineering

The demo is the easy part. The system is the job.

Anyone can get an impressive answer out of a model in an afternoon. Getting the same quality on the ten-thousandth request, with your data, inside your compliance boundary, at a cost you can forecast — that's engineering, and it's the part we do.

Our stance

The model is the most replaceable part of your AI system.

It's also the part that changes fastest. So we build behind an abstraction: your retrieval, your prompts, your tool definitions, your evaluations and your guardrails belong to you, and the model sits behind an interface you can swap in an afternoon.

That isn't fence-sitting — we do have opinions about which model suits which job, and we'll give them. It means that when a better or cheaper option appears, changing your mind costs a config change and an evaluation run, not a quarter of re-engineering.

Yours

Retrieval index, prompts, tool contracts, eval suite, guardrails, telemetry.

Swappable

The model, the provider, the hosting location, the inference budget.

Measured

Every change is scored against a fixed evaluation set before it ships.

Reversible

Behind a flag, with the previous behaviour one rollback away.

Capabilities

What we build, regardless of which model is underneath.

01

Retrieval & RAG

The unglamorous 80% of quality: chunking that respects document structure, hybrid search, reranking, freshness and permissions enforced at retrieval time — not hoped for in the prompt.

  • Ingestion & incremental re-indexing
  • Hybrid keyword + vector search
  • Per-user access filtering
  • Citations traced to source
02

Agents & tool use

Systems that call your APIs to get work done — with typed tool contracts, hard limits on what can be invoked, and a human approval step wherever an action is expensive or irreversible.

  • Typed, validated tool schemas
  • Step and cost budgets
  • Approval gates on write actions
  • Full trace of every decision
03

Evaluation

A test suite for a non-deterministic system. Golden datasets from your real cases, automated scoring, regression gates in CI, and honest reporting of what got worse as well as better.

  • Task-specific golden sets
  • Automated + human-rated scoring
  • Regression gates before deploy
  • Drift monitoring in production
04

Guardrails & safety

Input and output filtering, PII redaction before data ever leaves your boundary, prompt-injection defences on any content the model reads, and refusal paths that fail closed.

  • PII detection & redaction
  • Prompt-injection hardening
  • Output validation & schema enforcement
  • Abuse and rate controls
05

Data foundations

Most failed AI projects are actually failed data projects. We fix the pipeline first: lineage, quality checks, deduplication, and a clear record of what the system was allowed to learn from.

  • Ingestion & normalisation
  • Lineage and provenance
  • Consent & retention handling
06

Inference economics

Token accounting per feature and per customer, caching, routing cheap requests to cheap models, and a unit-cost figure you can put next to your pricing page without wincing.

  • Cost per request & per tenant
  • Caching & prompt reuse
  • Tiered model routing
  • Latency budgets
Implementation detail

Models we work with.

Chosen per workload against your constraints — data residency, latency, cost, and how much of the reasoning has to be right first time. Not a partnership pitch; just where each one tends to fit.

Claude

Where we reach when the work involves long documents, careful multi-step reasoning, or agents that have to use tools reliably rather than impressively.

Gemma

Open-weight models we run inside your own infrastructure, for workloads where the data genuinely cannot leave — or where per-request cost has to approach zero.

OpenAI

Broad ecosystem coverage — multimodal input, realtime voice, embeddings and a large surrounding tooling community that shortens a lot of first drafts.

Selection, not allegiance

We pick the model by running your evaluation, not ours.

Model capabilities move month to month. Rather than repeat vendor benchmarks here, we build a small evaluation set from your actual tasks and let it decide. It usually takes a week and settles the argument.

How we start

A short path from idea to something you can judge.

Find the task worth automating

Not "add AI" — one specific, repetitive, high-volume task where being right 90% of the time with a human check is already a win. We'll also tell you when the answer is that you don't need a model at all.

Build the evaluation first

Before any prompt engineering, we collect real examples and define what good looks like. Without this you're tuning by vibes, and vibes don't survive a production incident.

Ship a narrow slice

One workflow, one user group, behind a flag, with the human still in the loop. Real usage tells you more in a fortnight than a quarter of design discussion.

Widen only on evidence

Expand scope when the numbers justify it — accuracy, cost per task, time saved. Pull it back when they don't. Both directions are normal.

AI engineering

Have a task you think a model could take?

Describe it in a paragraph. We'll tell you honestly whether it's a good fit, what it would take, and roughly what it would cost to run.

Get in touch