Andi Albrecht

Andi Albrecht

Software architect · Python since 2002 · applied AI

I build things that have to hold.

Two decades of hands-on architecture. These days I take AI from idea into production in business software, where a decision still has to be explainable long after it was made.

Cologne / Bonn area, Germany GitHub ↗ LinkedIn ↗

NowJuly 2026

AI that has to survive an audit.

For the past two years I’ve been bringing LLM features into a grant-management platform: a domain built on dense rules, where an assessment has to be traceable and defensible months later, to someone who wasn’t in the room.

01 — decide

Assessments

Live in production: the model checks an application against the rules that apply to it and has to show its reasoning. The caseworker decides, with that reasoning in front of them. Human in the loop is a property of the architecture here, not a sentence in the terms of use.

02 — build

Agentic architecture

The assistant earns its abilities from the system it serves, so there is no second integration layer for somebody to keep in sync by hand. It inherits the permissions already in place; one that can see more than the person using it is a data leak with good manners. Retrieval is a building block, not an architecture.

03 — operate

Operating it

Nothing is really in production until you can see what it does, so: tracing, and evaluation runs you can repeat. Prompts are product content. The people who own the wording edit it themselves, inside guardrails they cannot remove by accident.

Where I stop. No model training, no foundation-model internals, no data science. Embeddings, context windows, tool calling, eval strategy: those I use with confidence. How exactly a token becomes a vector is someone else’s field, and they are better at it than I would be. My strength sits one layer up, in the application and in keeping the thing running responsibly. I would rather say that than blur it.

Track record

Work that outlived the project it came from.

Open source is where engineering happens in public, by consensus, without a manager to break the tie. Some of mine is still running fifteen years later.

Open source sqlparse A non-validating SQL parser for Python: no fixed grammar, tolerant of incomplete and broken statements. A dependency across the ecosystem since 2009, still on a reliable release cycle because people build on it. 2009 — now ↗ Django core Email backends Django’s pluggable email backends started as ticket #10355: my patch, argued out on django-developers and then shipped. Every Django project that sends mail still goes through that seam. ticket #10355 ↗ Core developer Rietveld Core developer on the code-review platform, alongside Guido van Rossum, whose App Engine proof of concept it started as. Retired years ago, but it is where I learned what good code review does to a codebase. I also wrote gae2django, a compatibility layer translating the App Engine API onto plain Django. GitHub ↗
Speaking PyCon DE · DjangoCon Europe Two talks at PyCon DE, one of them on code reviews, plus DjangoCon Europe. These days I turn up at Python BarCamps two or three times a year instead; the exchange there is more concrete. conference talks
Certified iSAQB CPSA Foundation The one certificate I bothered with. It put shared vocabulary under twenty years of doing the job, which turned out to matter on the day the argument has to be made in a room full of people who were not there when the decision was taken. CPSA-F
Domain Twenty years in public funding From a web application for grant applications in 2003 to today’s funding platform. Dense rules, real consequences, unglamorous, and genuinely hard. It is the kind of depth you cannot pick up in two years, and I did not expect to still find it interesting. 2003 — now

Making

The same impulse, after hours.

At thirteen I was drawing geometric figures on a CBM, one BASIC line at a time, with about as many pixels as patience. Today you would call that algorithmic art. I never really stopped: the field at the top of this page is the same idea, one rule on a fixed grid.

Own releases phasenpunkt Generative audio devices and virtual instruments: Max4Live devices and HALion instruments, designed and built on my own. The point where an algorithm stops being a concept and becomes something you can play. active ↗
In development mono:tensions A print series grown by a genetic algorithm, with an AI curator in the loop and me deciding what is worth keeping. Slower going than it sounds. in progress

Approach

Judgement, not a rulebook.

The goal is always sustainable software: it works, it’s pleasant to use, and it stays maintainable, extensible and fast enough. That is five or six balls that partly contradict each other. The job is weighing them deliberately, and knowing which cost you just accepted.

I came to software from the humanities, with a background in philosophy. It taught me to frame a problem instead of forcing it, and to stay with a strange, complicated domain until it comes clear. That is the core of both architecture and applied AI, and I use it most weeks.

I read the Zen of Python the way Brian Eno meant Oblique Strategies: as a provocation to think, not as law.
— design compass

Contact

Reachable, and interested in hard domains.

If you’re putting AI into a process where being wrong has consequences, or you need someone who can hold an architecture and still write the awkward part himself, say hello. I read everything that arrives, and I answer.