Why trellum exists
I didn't set out to build a reporting framework. I wanted answers from our data, faster, with AI. trellum is what was left standing after everything that didn't work.
Dashboards took too long, even before AI
The old way was manual. Building a dashboard meant hours of clicking, arranging and polishing. I spent a lot of time learning visual dashboard tools and still had more to learn. And when agents arrived they couldn't help me there: a drag-and-drop tool has no code for an agent to write.
So the agents got a folder
My AI workflow became a folder. Queries, notes, schema descriptions, a few Python scripts. Context I could point an agent at so it would stop guessing what "revenue" meant. Colleagues used it too, and since asking was suddenly cheap, the ad-hoc analyses multiplied. Another question, another agent-generated dashboard, another HTML file.
The one-off HTML trend
Honestly, those dashboards were garbage in nice clothing. Giant HTML files with the data baked in, numbers that were sometimes hallucinated, and no two regenerations that ever matched.
In practice that hurt, because we needed numbers quickly and they had to look good enough to go straight into presentations. So I was stuck in a loop: ask the AI for a dashboard, get something not quite presentable, rework it by hand, run out of time, ask again. Publishing one decent set of charts could eat my whole day.
The strange part: people loved them anyway. And then someone asked the obvious question:
"This is great. Can we get it every day?"
We did it, and it worked. But only because I wrote custom code every time to pin the layout and the numbers down, which cost me a lot of time. And the smallest change still made the agent query all the data again and rebuild the whole report. Minutes per iteration, at best.
Make the agent write code instead
The fix was not a better prompt. It was moving the AI to the other side of the line:
The agent still does the creative work. It just commits code instead of re-performing the report. That is trellum: an open-source Python framework for BI reports written as code, built deterministically.
Building it was a process. But because it came out of a real necessity, it turned into something my peers and I genuinely love using. The report is just there every morning, and I don't think about it anymore. I think others will love that too.
Separate the data from the report
The other half of the fix: getting the data and building the report are two separate steps.
trellum pulls from pretty much anything (databases, warehouses, files, APIs) and compiles it into one efficient dataset. Reports build from that dataset, so once the data is queried, iterating takes seconds instead of minutes, even on large data. Themes and shared annotations ride on the same build: define once, every report follows.
What's in the box
Everything I kept rebuilding by hand, built in:
And when none of it fits, your agent can invent any HTML visualization it likes. The framework knows how to build it in as a first-class component: same theme, same filters, same shared data.
This is for everyone
Data scientists and analysts will probably feel it first. But trellum is not a specialist tool. If you have an agent and a question, you can have a report: marketing, ops, finance, founders, anyone. Ask for it once, review it once, and every morning it rebuilds itself. Same numbers for everyone, no fiddling, no redoing, no wondering why today's version looks different.
Making charts used to be the work. Now the work is asking better questions. Go ask one.
Sixty seconds to a report
$ git clone https://github.com/trellumhq/trellum.git
$ cd trellum
$ python -m venv .venv && . .venv/bin/activate
$ python -m pip install -e trellum
$ python -m trellum.demo --dest demo-project
$ cd demo-project && python -m trellum.run reports/revenue --no-serve
Or skip even that. My honest recommendation is to not set anything up yourself and let your agent do it:
Clone https://github.com/trellumhq/trellum, read its README, and set up trellum in this folder.Open the result in your browser, export the PDF, send it. Explore the demo gallery or start from the repository README.
trellum is a true passion project. It came out of necessity, it was built with love, and I hope everyone enjoys it as much as I do.
— Apollo