A pilot that never became a product
The prototype impressed a steering group. Nobody defined what good output looks like, so nobody can say whether it is ready.
Services
Eight capabilities, one operating estate.
AI, cloud, software, data, and business systems designed to work together.
All servicesIndustries
Sector constraints, written as they show up.
Operating patterns we plan around in each sector.
All industriesCompany
Built around engineering.
How we think, how we work, and how to start a conversation.

A convincing demo takes a week. A feature people can rely on takes evaluation, grounded data, cost controls, and an owner. We build generative AI into real products and workflows, and we measure whether it works before it reaches your customers.
Overview
AI engineering is the work of turning AI models into dependable product features and business workflows: choosing the model and design, connecting it to the right company data, testing output quality against real cases, adding guardrails, and operating it with monitoring, cost controls, and versioned releases. It treats a large language model as one component of a system, not the whole system.
Data science asks whether a model can do the task. AI engineering asks whether the feature built on it can be trusted every day, by every user, at a cost the business accepts. That depends heavily on data quality and delivery discipline, so this service works closely with our data engineering and DevOps practices.
The problem
The prototype impressed a steering group. Nobody defined what good output looks like, so nobody can say whether it is ready.
The model has no access to current, permissioned company knowledge, so it fills gaps with plausible guesses.
Token spend grows with usage, prompts leak data they should not, and there is no log to explain a bad answer.
Capabilities
Assistants, summarisation, extraction, and classification built into the tools your teams already use — with interfaces that show sources and admit uncertainty.
Search over documents, tickets, and records with chunking, ranking, and access control designed for your content, so answers cite what they used.
Multi-step agents that call your APIs inside clear limits: approved tools, human sign-off where it matters, and a full trace of every action.
Test sets drawn from real cases, automated scoring, red-team checks, and release gates, so a prompt or model change is measured before it ships.
Versioned prompts, models, and datasets; monitoring for quality, latency, and cost; and a rollback path that works like any other deployment.
Clean, governed, well-described data that retrieval and models can use — built with our data engineering practice rather than around it.
A typical build places a thin AI service between your applications and the model provider. It handles retrieval from permissioned sources, prompt and model versions, guardrails on input and output, and tracing of every request. Evaluation runs in CI against a fixed test set. The model is a replaceable component, so switching provider or moving to a self-hosted model is a configuration and testing exercise, not a rewrite.
Decision guide
These are the four common ways to adapt a language model to a business task. They are not rivals — most production systems combine the first two — but each solves a different problem.
| Approach | Best when | Watch out for |
|---|---|---|
| Prompt engineering | The task needs general knowledge plus clear instructions and examples. | Fragile wording and no access to private or recent information. |
| Retrieval-augmented generation (RAG) | Answers must draw on your own documents or records and cite their sources. | Quality depends on chunking, ranking, permissions, and content upkeep. |
| Fine-tuning | You need a consistent format, tone, or narrow skill that prompting cannot reach. | Training data effort, retraining as needs change, and it does not add fresh facts. |
| AI agents | The task spans several steps and tools, such as looking up, deciding, and acting. | Compounding errors, harder testing, and the need for limits and human approval. |
We usually start with prompting and retrieval, then add fine-tuning or agents only when the evaluation shows they are needed.
Staff spend too long searching policies, runbooks, and past tickets. A cited assistant answers from approved sources only.
Forms, contracts, or claims arrive as PDFs and email. Models extract and validate fields, and people review the uncertain cases.
Agents draft replies, summarise case history, and propose next actions — while a person stays accountable for the outcome.
Trade-offs
Hosted APIs give the strongest models with no infrastructure to run. Self-hosted open-weight models give more control over data and unit cost, but you own capacity, upgrades, and GPU spend.
Bigger models handle ambiguity better and cost more per request. Smaller models are faster and cheaper for narrow tasks once evaluation shows they are good enough.
Full automation saves the most time and carries the most risk. Routing low-confidence or high-impact cases to a person is often the right first release.
Packaged AI features in tools you already license can be enough for common tasks. Custom builds make sense when the workflow, data, or controls are specific to your business.
Every release is scored against the same evaluation set. Regressions block the deploy, just as failing tests would.
Sensitive data is filtered or masked before it reaches a model, and retention terms with providers are checked, not assumed.
Usage is metered per feature. Caching, smaller models, and shorter context are used where the evaluation shows quality holds.
One workflow, its users, the value of a better outcome, and the risks of a wrong one.
Examples of good and bad output, the evaluation set, and the data the feature may use.
The simplest design scored against the evaluation set — in days, not months.
Retrieval, guardrails, tracing, cost controls, and the release gate.
Monitored rollout, feedback captured into the test set, and a clear owner.
FAQ
RAG is a design where an application first searches your own content — documents, tickets, records — for passages relevant to a question, then gives those passages to a language model to write the answer. It lets the model use private and current information without retraining, and lets users see the sources behind an answer.
Use RAG when the model needs facts that live in your content or change often. Use fine-tuning when the model needs a consistent behaviour — a format, a tone, a narrow classification skill — that prompting cannot achieve reliably. Fine-tuning does not keep a model up to date with new facts; retrieval does. Many systems use retrieval alone; some combine both.
We build a test set from real examples with agreed good answers, then score each version of the system against it: correctness, use of sources, refusals where the answer is unknown, safety checks, latency, and cost per request. Automated scoring, including model-graded checks, is calibrated against human review. The same set runs on every change, so quality is compared, not guessed.
Only if the task genuinely needs several steps and tool calls that cannot be fixed in advance. Many valuable features are a single well-grounded model call inside a normal workflow. When agents are justified, we limit the tools they can use, require approval for consequential actions, and trace every step.
The main drivers are the number of workflows in scope, the state of the data the feature depends on, the integrations required, the quality bar and how much evaluation it needs, and ongoing model usage, which is priced by the provider. A short framing and prototype phase, scored against an evaluation set, gives a realistic basis for estimating the full build and its running cost.
Data is ready when the sources a feature needs are accessible, reasonably current, permissioned, and described well enough to search. An AI readiness review looks at those sources for one specific use case rather than the whole estate. Where gaps exist, the fix is usually ordinary data engineering: ownership, quality checks, and access control.
We check provider data-retention and training terms, prefer enterprise endpoints or cloud-hosted model services within your own account, filter or mask sensitive fields before they reach a model, and enforce the user's permissions at retrieval time. Where policy requires it, open-weight models can run inside your infrastructure.
We choose models per use case from commercial APIs, managed model services on AWS, Azure, and Google Cloud, and open-weight models that can be self-hosted. The system is designed so the model can be swapped after testing. Platform partnership badges are listed only once they are verified.
Keep exploring
If this is the constraint you are carrying, describe the current systems and what must not break. We will tell you what a first useful step looks like.