← metaobjects.dev

The story

25 years private. Now open.

I built MetaObjects in 2001 because the same plumbing repeated on every project — persistence, DAOs, DTOs, form bindings, validation, the MVC wiring. The ORMs that would later take part of that off our plates didn't exist yet. So I built one thing that read a single metadata model and generated the whole stack around it: define the entity once, let the generators produce the layers.

I never marketed it. For 25 years it was my unfair advantage — how I shipped fast and kept systems consistent as they grew. The same substrate shipped a Salesforce-integrated secure-messaging platform, a credit-card processing gateway, and a high-uptime online poker system. It ran pharmaceutical regulatory software at enterprise scale, customized per customer by overlaying metadata — no code changes. One approach became a US patent. It just quietly did its job.

By 2022 I set it aside. I was running engineering organizations — architecture, M&A diligence, building leaders — not shipping or refactoring code, which was the whole point of the tool. And low-code platforms like Boomi and OutSystems looked like they'd productized the idea. They had — except for the part where you own your runtime. MetaObjects always generated code you own, with zero dependency on it. Throw the platform away and your code keeps running.

Then AI arrived, and I watched it generate beautiful code that drifted: locally perfect inside each prompt, globally inconsistent across the system. Different field names for the same concept. Types that diverged at every boundary. Plausible APIs that didn't quite exist. The vendors didn't fix it. That's when I realized I'd been looking at the wrong problem in 2022. The job was never generating code — it was keeping it coherent as a system grows. Metadata is that missing spine, and AI turns out to be a far better consumer of metadata than humans ever were.

So I'm bringing MetaObjects back — AI-first, open source — for the first time in 25 years. And here's the honest version of how I build now: I ship software fast, with heavy AI assistance, across a whole family of products. That's exactly the situation that wrecks consistency. MetaObjects is the spine that stops it — define the model once, generate every layer from it, and let drift break the build. My other products run on it. It isn't a thesis I'm pitching you; it's what I ship on.

The full origin story — 25 years, the production systems, the AI-drift turning point — lives on my site.

Read the full origin essay → Get started →