I'm building BetterPrompt , and this is the reporting workflow I ended up needing every morning.
My startup metrics live in two places. PostHog has traffic and top-of-funnel behavior. Postgres has signups, onboarding, prompt runs, subscriptions. The annoying part wasn't that the data was split β every startup has that problem. The annoying part was that the funnel I actually cared about only existed after combining both.
So every morning I had two options: open multiple dashboards and do the math by hand, or skip it entirely. Most days I skipped it.
Now I run one command, and a sheet of paper comes out of my printer.
The one command
bun run report
That command runs a set of Postgres and PostHog queries, writes the raw outputs to CSVs, computes the cross-source funnel, renders a print-ready PDF, and hands the PDF to my laser printer.
Why dashboards weren't enough
The hard part wasn't querying either system. Both are great on their own.β¦