trellum

Ask your AI agent.
Get a professional dashboard.

Tell your coding agent what you want to understand. It sets up Trellum, builds and checks your report, and opens it in your browser. Start with sample data or bring a spreadsheet, file, API, or database. Point at what you want changed and refine it together.

For a manual install: python -m pip install trellum

made by anyone
Product QA Analysts Support Marketing Founders

▼ the synthetic portal preview below is interactive. Click a card, it opens.

trellum ■ acme▸■ growth ▾ Search reports… (Ctrl+K) amara@acme.com ▾
12 reports · ● 12 healthy · 0 errorsclick a card, it opens
★ favorites

synthetic preview. Try the interactions here; for the full portal, follow the local try-it guide.

start here · free & open source

Ask your coding agent to set it up.

Open your project in Claude Code, Cursor, Codex, Gemini CLI, or another coding agent, and paste this prompt. Your agent handles installation, setup, and checks. You describe the report you want and review the result. SQL is optional, and the report’s source stays in your project so every change can be reviewed.

After the first preview opens, ask questions and describe what to change. The agent can update the report and rebuild it while you review the result in your browser. Read the framework guide for the technical details; the self-hosted portal is optional for managed schedules, authentication, and team sharing.

Copy this prompt into your coding agent
Set up Trellum in this project. Build my first interactive report with the included sample data, run the relevant checks, and open a live browser review. Keep listening for my feedback so we can refine it together.

Trellum: https://trellum.dev
Setup guide: https://github.com/trellumhq/trellum
local browser review

Refine the report in your browser

Build with your agent. Refine in the report. Share with your team. Open a local review, point at a chart or type what you want changed, and send it to your coding agent. It updates the report code or definitions, rebuilds, and the preview refreshes. See the framework capabilities.

Store Health report with a review request to rename Sellers vs Senders-Back to Products driving returns
Point or type a change. View full-size
Store Health report showing Products driving returns after the agent rebuilt it and replied
The rebuilt preview shows the renamed heading. View full-size
how a report is actually built

Your sources. Joined in Python. One report.

Use built-in connectors for supported databases and files. For other services, call their Python SDKs. Your report code chooses what to load, how to transform it, and which reusable datasets feed each component.

load the sources you configure
Postgres & SQL Snowflake BigQuery DuckDB CSV & Parquet Excel files custom Python + more databases

Bring your sources together. Use built-in readers for supported files, sheets, and databases, or a Python SDK for another service. Data from documents can join a report once a Python reader or extraction library prepares it as rows and columns.

into report datasets
report dataset
columnar · cacheable · built by your code
built and stored where you choose
components read your datasets
weekly-revenue
€412k ▲9,180 ▲€44.9 ▲

✓ configured caches can speed up repeated local builds

Your deployment stays yours. Run locally, in CI, or on infrastructure you control. You choose where generated report data is stored and served.
Transform in plain Python. Joins and reshaping are explicit DataFrame operations in your report code, so reviewers can see what changed.
Cache when it helps. Configure query caching for repeated builds. Changed SQL, expired entries, or a cache bypass can query the source again.

⚡ live is an option, per report: for reports that need fresh data at view time, configure a live-query backend and let viewers choose their parameters.

The framework builds the report.
The portal is optional.

Build, validate, schedule, and host portable reports with the tools you already use. Add the self-hosted portal when you want managed schedules, authentication, repository builds, and team sharing in one place.

the portal, feature by feature

Everything the portal does.

Illustrations of portal features. The numbers below are synthetic; explore the interactive tour for real portal screenshots.

Custom themes, everywhere

Defined once. Every report, email and PDF follows your brand.

acme darktrellum lightblossomyours ✦
13 built incharts, emails, PDFs+ yourstokens, type, palette
open a report in the console above and watch these cycle

The metrics layer

Reuse named definitions of revenue across reports, with the SQL and calculation rules available for review.

metrics.yaml · gross_revenue · v2 · iap + ad · €
weekly-revenue
€412k ✓
claims gross_revenue
board-pack
€412k ✓
claims gross_revenue
shared aggregation settings and definition versions; authors supply and review the data

Live reports

Queried at view time; the viewer picks the parameters.

LIVE revenue-today allEUNA
€41.2kfresh as of 0s ago

Runs on a schedule

Built on the clock. The published report is simply current.

mon 07:00 — refresh 41s · build 4.1s
weekly-revenue · updated ✓
email a copy? an option, per report

Email delivery, built in

Themed email with the numbers inline, and the PDF attached when you want it.

✉ weekly-revenue → leadership07:02
⎙ board-pack.pdf → the board07:02
✉ churn-cohorts → growthmon

Shared annotations

Add "W8 · pricing change" once. Matching date-based charts show it when annotations are enabled.

⚑ W8 · pricing change. added once:
…appears on both. plus a studio calendar of every event

A/B testing, honest

Not just "B looks bigger". An uplift with an interval you can sign.

CUPED built in · plus the Experiments overview: every test, one page

Buddy, the AI assistant

Ask the portal about your own reports. It answers from the builds, with sources.

why did EU revenue dip in W12?
Paid spend paused 5 days in W12 — EU Paid only. → weekly-revenue, W12, EU
answers link to the exact report, filter and week

Share links, safely

Send a report outside the studio. Scoped, password protected, revocable.

trellum.dev/s/w-rev-8f3a1 · weekly-revenue
🔒 passwordset by you⏳ expiresin 14 days⌫ revokeone click
a link, not an attachment. always the current build, never a stale copy

Review what ships

Fetch repository changes, inspect the diff, and publish the exact commit you reviewed.

remote main fetched3 commits
reports changed4
reviewed headpublish

One overview

Every report, every studio, state at a glance.

weekly-revenue · ✓ currentmon 07:00
revenue-today · livenow
churn-v2 · ⎇ in reviewpreview ✓

Published analyses

Keep a written finding, its assumptions, recommendation, and fixed report evidence together in a Git-reviewed article. Read the demo analysis →

Where Northwind loses buyersanalysis
2 captured viewsPNG + source context
shown in the studio's Analyses section; evidence stays fixed as source reports refresh

Governed & observed

Your directory signs people in; the org frames studios; the audit log remembers.

SSO →
ORG · ACME
growth · 8finance · 5
SSO, MFA and audit logging included
the toolbox · from the framework

Every chart you'd reach for.
And zero walls when you don't.

Built in so you never build them. And never a limit on what your agent can invent on top.

None of them fit? There is no wall.

A report is code, so you can add HTML, JavaScript, or a visualization that does not exist yet. Use the framework APIs to wire its data, theme, and filters yourself. No plugin approval is required; the integration stays explicit in your repository.

# your agent, mid-conversation: self.add(RawHTML(""" <canvas id="anything"> … </canvas> """)) # any HTML it can imagine
3D surface
themed · filterable · shared data
flow diagram
themed · filterable · shared data
…even a game
playable · in a report · yes really
filters & cross-filtering date selectors tab groups comparison tables CSV export themes & custom themes shared annotations

Start in your repository.
End with a report you can ship.

Ask your coding agent to set up Trellum and build a report in your repository, then review and refine it in a live browser preview. Explore the report demos and Northwind analysis, and add the optional portal if your team needs managed services.

trellum▸demo▸tour ▾ themes still cycling →
trellum.dev/demo/· generated reports. click a bar, flip a theme
Reports
Gallery
interactive + exportable
Sources
Offline
synthetic demo data
Themes
13+1
including yours
the same report, still running
The framework · open source

Ask your coding agent to install Trellum, build and validate a report, then open its browser preview. Keep report code and definitions in Git.

Python framework · view on GitHub →
The portal · optional and self-hosted

Add managed schedules, authentication, repository builds, and team sharing.