AI systems
LLM-backed workflows and agents, and the extraction of structured records from documents and email.
The model is the part you can change in an afternoon. The work is everything around it: what the output is checked against, what each call costs, and which model a given task actually needs.
- Claude
- Gemini
- Mistral
- Node.js
- SigNoz
- GitHub Actions
Order emails, turned into records an ERP will accept.
- Client
- Dental industry, Germany
- Input
- Unstructured order email
- Output
- ERP-compliant records
- Models
- Claude, Gemini and Mistral, routed per task
- Runtime
- Node.js
- Observability
- SigNoz
- Delivery
- GitHub Actions
The client’s name is withheld by contract. Everything else is what was built.
Where we come in.
One model is not the answer to every task.
Extraction, classification and summarisation have different accuracy requirements and different prices per token. We route each task to the model that suits it and measure the result, so that a cheap model handles what it can and an expensive one is called when it earns the call.
The documents are the hard part.
Most of the data worth extracting arrives as email, PDF and scans written for people rather than for machines. Retrieval is what decides whether the answer is right, and it is mostly ordinary engineering: chunking that respects the document’s own structure, and evaluation against records where you already know the answer.
You need to know what it costs before it runs.
Token spend is a production cost like any other, and it moves with traffic. We instrument the pipeline so cost per document and per model sits next to latency and error rate, on the same dashboard as everything else.
You want an agent, and the useful part is the tools.
An agent is a loop around a set of tools, and the loop is the easy half. What decides whether it works is which tools it can call, what each one is allowed to do, and what happens when a step fails halfway. We build them so that a failed run leaves the system where it started.
When to bring us in.
- When you know the feature works and need to know what it costs at volume.
- When the input is documents rather than a clean API.
- When a wrong answer has a consequence and something has to catch it.
Tell us what you are building.
We work in German and English. Our clients are across the DACH region and the EU, more than seven of them since 2022.