AI engineering

For teams who want AI in the product, not a demo that impresses once

The problem

The demo is the easy part. A prompt in a chat window looks convincing in a meeting and then falls over the moment it meets real inputs, real edge cases and a real bill.

The hard parts are the ones nobody demos: what happens when the model returns something malformed, how you stop it inventing facts, what it costs at volume, and whether you can change provider later without rewriting the product.

How we approach it

  1. 01

    We build against our own interfaces rather than a single vendor's SDK, so the model underneath can change without the product changing. We maintain that runtime ourselves, including a provider port, a tool-calling loop and structured generation.

  2. 02

    Structured output wherever the result feeds another system. A model that must return valid, typed data is a component you can build on; free text is a component you have to babysit.

  3. 03

    We decide up front how we will know it is working. Evaluation on real examples, not vibes, because otherwise every prompt change is a guess.

What you get

  • AI features integrated into your product, not bolted alongside it
  • A vendor-neutral integration layer you are not locked into
  • An evaluation set and the results, so quality is measurable
  • Cost modelling at expected volume, before you commit
  • Guardrails on the paths where a wrong answer is expensive

Engagement

Shape
A single AI feature, or an AI layer across an existing product
Duration
Typically 4 to 12 weeks depending on evaluation depth

Every engagement is scoped and priced after we understand what you need. We will tell you if the work is smaller than you think.

Where we have done this

A vendor-neutral AI runtime

We maintain our own AI layer built against our message contract rather than any provider's SDK: a provider port, an agentic tool loop and structured generation. It is what CitaPay's assistant runs on, and it means swapping the underlying model is a configuration change rather than a rewrite.

Tell us what you are trying to build

If we are the wrong people for it, we will say so and point you somewhere better.