Practice 01
AI, LLM and GenAI engineering
Most enterprise AI projects do not fail on the model. They fail on the data contract, the evaluation set nobody built, and the moment a director asks why the answer changed.
At a glance
We build AI features the way you would build any other production system: with contracts, tests, observability and a rollback path.
Tools we use most
- OpenAI
- Anthropic Claude
- Azure OpenAI
- AWS Bedrock
- Llama / Mistral
- LangGraph
- LlamaIndex
- pgvector
- Qdrant
- Weaviate
- Ragas
- MLflow
- Triton
- vLLM
Related work
- Contact centre intelligence at 40k calls a month
- A voice agent that negotiates a freight booking by phone
- A support copilot that cites its sources and says "I don't know"
- Invoice and PO extraction for accounts payable
- Visual inspection on a plastics line
What we get called in for
- You have a proof of concept that impressed the board and cannot survive real documents.
- Your team can call an API but has no way to prove a prompt change improved anything.
- Legal will not approve the feature until someone can explain where an answer came from.
- You need a copilot inside an existing product, not a chat window bolted onto the side.
- You are paying per token for work a small fine-tuned model or a plain classifier could do.
How we build it
Ground the use case in a graded set
Before any architecture, we build 100–200 real examples with expected outputs, graded by your subject-matter experts. It becomes the acceptance criteria, the regression suite and the argument-settler.
Choose the smallest thing that works
Classifier, retrieval, tool-calling agent, fine-tune, or none of the above. We have shipped features where the winning answer was a lookup table and a rules engine, and said so.
Build the retrieval layer properly
Chunking that respects document structure, hybrid search, metadata filters, and re-ranking. Most quality complaints are retrieval problems wearing a model costume.
Wire evaluation into CI
Every prompt, model or index change runs the graded set and reports drift on faithfulness, answer coverage and refusal rate before it merges.
Make it observable and reversible
Per-request traces with the retrieved context, cost and latency attached. Model version pinned. A flag that puts the previous behaviour back in under a minute.
What you get
- Reference architecture and data-flow diagram, including where PII stops
- Graded evaluation set, scoring harness and CI integration
- Retrieval or fine-tuning pipeline with reproducible index builds
- Guardrails: input filtering, output validation, refusal handling, rate and cost caps
- Human-review console for the people who will correct the system in production
- Cost model per 1,000 requests, with the levers that move it
Further reading
Next step
Tell us what you're trying to ship.
Send the brief, the RFP, or three messy sentences about the problem. You get a written point of view from an architect within two working days — not a sales deck.