Field notes · 51 entries
What we wrote while it was happening.
Project notes, unedited since publication. Some aged well and some didn’t. We left them as they were, because the date is part of what they say.
2026
2 entries- Product
AI on legacy systems: the work nobody demos
The model is the easy part. The hard part is getting the data out of an AS/400 with permissions, without breaking the monthly close.
- Architecture
Prompt debt: the code nobody dares to touch
Nine hundred lines of instructions, grown by patches, with rules that contradict each other. It's a recognizable pattern now.
2025
6 entries- RAG
Hybrid retrieval: BM25 never left
Part numbers, standards codes and proper nouns are still found better by keyword search.
- Regulation
AI governance: from policy to a control that runs
Nearly every large company now has an AI policy. Very few have a control that stops people ignoring it.
- Agents
Agents that drive the computer: where the limit sits today
Useful for old systems with no API. It's slow, it's fragile, and it still unblocked a project that had been stuck for three years.
- Cost
Context caching: the optimization that actually returns money
Long, stable system prompts are the perfect case. We cut a document assistant's bill by 55% in two days.
- Agents
Agents in production: one year on
Of the seven agentic flows we launched in 2024, five are still alive. The two that died went the same way.
- Architecture
MCP: finally a standard way to connect models to systems
For two years we wrote the same adapter under a different name in every project. That's over.
2024
12 entries- Product
Writing documentation for a machine to read
The same manuals that confuse a new hire confuse the assistant. Fixing them improves both.
- Cost
Own GPUs or API: the 2024 math
We ran the numbers for four clients at different volumes. The break-even point sits higher than people assume.
- AI
Reasoning models: when the premium is worth paying
More expensive and slower, and still profitable in one specific case: when the downstream human error costs hundreds of dollars.
- Product
Internal copilots: the model doesn't decide adoption
Two nearly identical rollouts. One reached 70% weekly use, the other 8%. The difference was where it lived.
- AI
Structured outputs: goodbye broken JSON
We deleted 400 lines of JSON-repair code from three projects. That code was pure embarrassment and it's no longer needed.
- Security
Permissions in RAG: who gets to see what
The assistant answered with someone's salary. The document was in the index, and the index knew nothing about permissions.
- Evaluation
LLM as a judge, carefully
Automating evaluation with another model works if you first measure how closely the judge tracks your human reviewers.
- AI
Small models on device: where they already pay off
Classification, extraction and short drafting work well locally. Long reasoning doesn't, yet.
- AI
Multimodal models on invoices and delivery notes: at last
Ten years of per-vendor OCR rules replaced by a model that reads the document the way a person would.
- Regulation
The AI Act passed: what to do on Monday
Classifying your systems by risk takes an afternoon. Discovering that one is high-risk takes six months of work.
- RAG
Reranking: the cheapest improvement we've measured
Retrieving twenty candidates and reordering them with a small model raised precision eleven points, for less than the price of a coffee per thousand queries.
- Agents
Agents: the word of the year, and what survives production
Long autonomous loops still fail. Three-step flows with verification have been running for months.
2023
12 entries- RAG
128k context: why it doesn't replace retrieving well
We dropped the entire manual into the prompt because it finally fit. Accuracy went down and the bill went up.
- Cost
Cost per token: the number nobody watches until it hurts
An internal assistant went from $400 to $6,000 a month in six weeks without a single code change.
- AI
Fine-tuning or RAG? The question is framed wrong
One teaches form, the other supplies facts. Almost no project has to choose; plenty need to understand the difference.
- Regulation
The EU AI Act: what's worth preparing now
Enforcement is still ahead, but the documentation it will demand gets written during the project or never gets written.
- Evaluation
Hallucinations: measure them before you fix them
Every client asks how to eliminate them. The useful question is how many there are today, and on which specific questions.
- AI
Function calling: the quiet shift of the year
Fewer headlines than GPT-4 and more consequences. It's what turns a chat window into a connected system.
- RAG
Choose an embedding model with your data, not the leaderboard
The top-ranked model came fourth on procurement documents. Leaderboards measure something else.
- Architecture
LLM orchestrators: how much code you actually need
We started with a framework and finished with 300 lines of our own. It doesn't always go that way, but it goes that way more than people admit.
- Security
Prompt injection is not a theoretical problem
An inbound email with hidden instructions convinced an assistant to forward a thread. It was our staging environment, thankfully.
- RAG
RAG: the architecture everyone builds wrong the first time
The failure isn't the model or the index. It's chunking documents by character count.
- AI
Open weights in the enterprise: the real argument isn't price
Almost every client asking for their own model is asking for data control, not savings. It helps to say so out loud.
- AI
GPT-4: what actually changes for an enterprise project
Fewer silly errors and longer context. That reopens use cases we shelved six months ago, and leaves others closed.
2022
5 entries- AI
The week ChatGPT changed every meeting we had
In fifteen days we went from explaining what a language model is to explaining why it can't reach your ERP.
- AI
Whisper: transcription that's finally useful
Tested on 200 hours of calls with noise, accents and crosstalk. It's the first time the output doesn't need rewriting end to end.
- AI
Stable Diffusion in brand workflows: generating isn't the problem
Generating a thousand images is trivial. Having all thousand respect the brand guide, image rights and the real catalogue is not.
- Architecture
Vector databases without the hype
Under a million vectors, the database you already run is probably enough. We measured it.
- Infrastructure
Cloud cost when money stops being free
Three clients asked us for the same thing in one month: cut the bill without touching the product. It can be done, and it's boring.
2021
4 entries- Security
Log4Shell: the long night and what it left behind
Forty-eight hours auditing client dependencies. The ones with an inventory finished on Friday. The rest finished on Tuesday.
- MLOps
Feature store: when it's worth it
The short answer: when two teams compute the same variable and get different numbers.
- Tooling
Copilot in a real team: two months of data
We tried it on four projects. It saved time on tests and adapters. It did not save time on design decisions.
- AI
Vision transformers versus CNNs on the factory floor
A comparison across 40,000 production-line images. The result depended less on architecture than on labeling.
2020
4 entries- Web
Core Web Vitals and the JavaScript budget
Google put numbers on what we'd been arguing about by feel. The numbers made a lot of people uncomfortable, us included.
- AI
GPT-3: first serious tests on client data
Summarizing sales calls. Impressive in the demo, inconsistent across a batch of 500. That gap is the entire job.
- MLOps
MLOps before you have any ML
A client wanted a model platform. They had one model, trained once, on one person's laptop.
- Team
Forced remote: what held up and what didn't
Eight weeks of distributed work with clients in four time zones. The tools were never the problem.
2019
3 entries- Web
Jamstack and the return of HTML
Rendering at build time became a reasonable idea again. For catalogues and corporate content, the load-time difference is hard to argue with.
- Architecture
Microservices: the hidden bill
Splitting the monolith fixed coupled deploys and created a new problem: nobody could tell why a request failed.
- AI
BERT in production: notes from the first attempt
Classifying tickets with BERT improved accuracy by nine points. It also multiplied the cost of serving the model by six.
2018
3 entries- AI
Rule-based chatbots: where they still win
Nobody wants to hear their conversational assistant should be a decision tree. In incident support, it still wins by a mile.
- Infrastructure
Kubernetes is not your first step
A client wanted orchestration for three services and eleven deploys a month. We proposed containers without a cluster and saved them a platform engineer.
- Privacy
GDPR: what actually changes for product data
May arrived and panic came with it. Most teams we spoke to didn't have a legal problem. They had an inventory problem.