enrichme·ai
Good libraries, built in the open

Code got expensive cheap.
Judgment didn't.

AI can write a thousand lines in a minute. What it can't do is stand behind them: keep an interface stable for years, catch the failure the emulator never shows, ship an artifact a stranger can depend on. That takes judgment, and libraries are where judgment collects. EnrichMeAI builds them in the open.

Why libraries, when anyone can generate code?

Systems rarely break in the middle of a function. They break at the seams: between your logic and the cloud SDK, between the schema Terraform provisioned and the schema the code writes, between what passed on your laptop and what runs on a serialised worker with real IAM. Generated code adds more seams. It doesn't harden any of them.

A good library is where the hardening lives: a stable contract, a conformance suite every implementation has to pass, honest notes about what doesn't work, and a signed, versioned artifact. None of that is typing. We build our own libraries with AI agents, and it only works because the agents are held to the same contracts and gates.

What got cheap
  • Lines of code
  • Boilerplate & scaffolding
  • First drafts of anything
  • Plausible-looking implementations
What didn't
  • Contracts that hold across clouds & years
  • Tests that catch what emulators can't
  • Production scars, written down honestly
  • Signed artifacts a stranger can trust
Products

Software shouldn't be hard.

Most of what makes software hard is the same plumbing, rebuilt badly on every project. We build libraries that solve that plumbing once, so you never rebuild it again: libraries for data pipelines, libraries for messaging systems, libraries for microservices. Data pipelines shipped first. The rest are on the way.

Culvert

cloud-agnostic data-pipeline framework · Java + Python

Data pipelines defined once against a language-neutral contract set, then run on any cloud by swapping adapters instead of rewriting logic. Sixteen interfaces, implemented in Java and Python. GCP today, AWS alongside it, Azure on the roadmap.

Product two: personal data, back in personal hands

A server that stores your data where you decide, and lets applications ask permission instead of taking copies. It is in design now. The house rule below applies: it gets a name and a page when it runs on real infrastructure, not before.

Work with us

Free to use. Supported if you want backup.

Culvert is MIT licensed. Free for commercial use, no strings, no open-core bait. If you're putting it to work inside an organisation and want backup, EnrichMeAI offers enterprise support (prioritised fixes, upgrade help, direct maintainer access), integration engagements, and sponsored features.

Start with COMMERCIAL.md or open a GitHub issue labelled commercial.

Writing

The code is one part. The thinking is the product.

The book: building Culvert, honestly

a practitioner’s account · in progress

Twenty-one chapters on designing a cloud-agnostic framework in the open: where the contract boundary sits, why the two languages split the work the way they do, an honest review of my own code, and what building with AI agents actually looks like when they're held to contracts and gates. Every technical claim cites the real source tree. It publishes once the 0.x line settles.

Who is behind this? I’m Joseph Aruja. Twenty-five years building software for banks and enterprises, too much of it the same scaffolding rebuilt on every new platform. EnrichMeAI is where that experience turns into things other people can use: libraries, writing, and the occasional strong opinion. All in the open.

“Nothing here is announced before it has run on real infrastructure. Claims are cheap now. Proof isn't.”

house rule