AI & Machine Learning
Model integration, retrieval over your own data, fine-tuning, and the pipelines and evaluation that keep the answers accurate. For products adding search, summarisation, classification, or generation over private data.
Who this is for
- A product that needs search or answers over documents customers cannot find today.
- A workflow with a classification or extraction step a person does by hand.
- A team that prototyped with an API and now needs it accurate, cheap, and monitored.
- A company with proprietary data that could train or tune a model of its own.
What is included. Tick what you need.
Artefacts, not adjectives. Each is something you can point to at the end. Tick the ones your project needs and send the list with your enquiry; we reply with a written scope.
Technologies we use for this
The relevant slice of our technology matrix. Nothing here that we cannot staff today.
- Python (Django, FastAPI, Flask)
- Node.js (Express, NestJS)
- PHP (Laravel)
- Go
- REST
- GraphQL
- gRPC
- WebSockets
- Celery
- Redis Queue
How we deliver it
The five steps every engagement goes through, in the form they take for this service.
Scope
A call with an engineer, then a written scope: what is in, what is out, and what it costs.
Architecture
Data model, API contract, and infrastructure plan, approved before code is written.
Build
Weekly evaluation runs on a growing test set, so accuracy is a number you watch go up, not an impression.
Harden
Tests on the paths that matter, error tracking, a performance pass, and a security review.
Launch and hand over
Production deployment, monitoring, documentation, and every repository transferred to you.
From the blog
- LLM security: prompt injection, data leakage, and what actually stops themMost LLM security advice is 'write a better system prompt.' The actual defenses are architectural: what the model can see, what it can do, and what never returns to a user unchecked.
- LLM observability: what to log, and what it actually catchesTraditional APM tells you a request was slow. LLM observability has to answer a different question: was the answer right, and why did the model say that?
- How to build an AI analytics assistant'Ask your data a question' is a text-to-SQL problem wearing a chat interface. The architecture that makes it trustworthy: schema grounding, guardrails, and a query the user can check.
Questions we get asked
Do we need our own model?
Usually not. A hosted model with good retrieval and prompting covers most products. Fine-tuning or an open-weight model makes sense for cost at scale, privacy, or a narrow task, and we show the comparison before recommending it.
How much data do we need?
For retrieval, whatever documents you already have. For fine-tuning, a few hundred good examples beat thousands of poor ones, and we help you build the set.
What does it cost to run?
We estimate per-request cost in the scope and monitor it in production. Caching, smaller models for simple steps, and batching typically cut the first estimate by half.
How do you handle accuracy and hallucination?
With a test set, grounding answers in retrieved sources with citations, refusing when confidence is low, and evaluation on every change. Accuracy is reported as a number, not a feeling.
Is our data used to train anyone else's model?
No. We use API terms that exclude training on your data, or run open-weight models inside your own cloud account.
Tell us what you are building.
We reply within one business day with how we would build it, what it would cost, and which engagement model fits.
- 01Tell us what you are building
A short form or an email. No deck required, and "not sure yet" is a fine answer.
- 02A call with an engineer
Within one business day. Technical questions get technical answers, from the person who would build it.
- 03A written scope and quote
Fixed price where the scope is defined. The document is yours whether or not you go ahead.