Backend developer · LLM-based systems
I build systems around large language models.Ones that run in production.
I've been a backend developer for more than fifteen years, and for the past few years I've been leading AI projects.

- Experience
- 15+ years in backend
- Specialization
- Documents, assistants, agents
- Models
- OpenAI, Anthropic, open
- Infrastructure
- Own cluster, 3 GPU nodes
01 · What I do
Everything around the model that makes the system work.
The model is usually the smallest problem. The harder part is what surrounds it: the input data, checking the results, the cost, and whether people can trust those results.
Document and image processing
Data extraction, classification and enrichment at scale.
Every result carries a confidence score, uncertain cases go to review, and nothing is written to the source system without confirmation. Most of the work is not in the prompt but in what happens before and after it: validation, duplicate detection, and a trail that shows where each record came from.
Assistants that know a company's documents
Assistants that answer questions from a company's own material and point to the source of every answer.
I work with OpenAI and Anthropic models, and where data cannot leave the company, with open models running on the company's own infrastructure. I spend more time on retrieval quality and on testing the answers than on the interface itself.
Agents and automation
A weekly report, data reconciliation, moving information between systems.
An agent runs on a schedule, has a set budget, logs what it did, and lets you know when something fails. Any operation that changes something in an external system needs approval first.
From prototype to production
A common starting point is a prototype that looked good in a demo but is not ready for daily work yet.
I keep what works, add tests, monitoring and error handling, and turn it into a service someone else can maintain.
02 · Selected work
A few systems, and the scale they run at.
I designed and built each of them.
6,500+
priced items from 2,100+ pages
Reading data from documents
Two systems: one reads retail flyers with a vision model, the other turns a photo of a label into a nutrition record. A person resolves conflicts and approves each write, and every one of the 6,500+ items points to its source page.
- vision model
- 2× OCR
- human approval
100+
posts planned and produced
Content production for three brands
A queue generates text, graphics and short videos for three brands, each with its own style and approval stages. Rendering starts only after approval, and the AI label is built into the process rather than checked at the end.
- 3 brands
- approval stages
- AI label
320B
open model on 3 GPU nodes
Self-hosted AI infrastructure
Three GPU nodes, two of them linked over 200 GbE, serve an open 320B-class model behind an OpenAI-compatible API. It serves several internal apps with no per-call fees, and in a single night it can read more than two hundred pages.
- tensor parallel
- 200 GbE
- OpenAI-compatible API
0
changes to an external system without approval
Analysis agents
At a set time, agents read the day's data and write a report. Each has a token budget and a step log, only proposes changes, and if the model fails, the report still arrives with a note on what is missing.
- token budget
- step log
- change approval
03 · Notes
Longer pieces about what I build.
Local modelsFor many tasks you don't need the best model at allThree computers at home, one open language model running locally and a fair amount of automation running on it. Why, for many business tasks, a smaller model is more than enough.
QualityEight out of ten for a lyric with a mistakeI built a process in which an AI model writes song lyrics and then rates them itself, and I got a high score for a lyric with a mistake in it. What I changed so that the quality check could be trusted.
AutomationEight videos and forty rulesI built a process that watches YouTube videos and writes down rules from them for my AI agents. Most of the work was not in extracting the knowledge itself but in checking whether what was pulled out of a video is really said in it.



