The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Incomeos listing page.
Most revenue dashboards assume you have one product on one Stripe account. IncomeOS assumes what's actually true for an indie hacker: a SaaS on Stripe, an Amazon affiliate link, a marketplace actor, a mobile app, a sponsorship — I track 25 sources, and most of them make under $10 a month. Nothing adds them up.
→ See it running on my real numbers — my own income, live, not demo data.
Self-hosted and MIT. Your revenue lives in your Supabase project — no third party ever sees your numbers. Deploy free on Vercel in about five minutes, or use the hosted version if you'd rather not maintain infrastructure.
This is the part nothing else does. IncomeOS ships an MCP server, so Claude, Cursor, or any MCP client can read your income on demand:
"How much did I make this month across everything?" "Which source grew the most since May?" "Log $180 for Amazon affiliates in July."
Tools: get_income_summary, get_sources, get_month, log_monthly_income.
See mcp/. The MCP talks to your instance with your token — the
data never leaves it.
#1 SaaS, #2 Amazon, #3 Sponsorship…
Dashboard screenshots use demo data. The public page above is real.
supabase/migrations/0001_init.sql
in the SQL editor.npm run dev) with the env vars from
.env.example: SUPABASE_URL,
SUPABASE_SERVICE_ROLE_KEY, DASHBOARD_TOKEN (your password), CRON_SECRET,
and optionally STRIPE_SECRET_KEY (a read-only restricted key is plenty).A daily Vercel Cron keeps Stripe fresh; the Sync button pulls on demand.
| Source | Status | How |
|---|---|---|
| Stripe | ✅ automatic | Net revenue, grouped per product, zero config |
| Amazon / affiliates | ✍️ manual | Monthly total, one click — no API exists |
| Marketplaces, ads, sponsorships | ✍️ manual | Same, as numbered sources |
| Gumroad, Lemon Squeezy, Paddle, Ko-fi, RevenueCat | 🛠️ roadmap | PRs welcome |
Every source can hold a link to its own dashboard — clicking the card opens it.
This repo is the self-hosted build: Stripe, manual sources, all the charts, goals, and the MCP. Free forever, no feature held back to sell you something.
app.incomeos.dev is the hosted build, and it's ahead of this repo on a few things I run for myself: RevenueCat sync, a weekly email digest, the public page linked at the top, and email-link sign-in instead of a shared password. Free tier covers unlimited manual sources, every chart, and sync on demand; Pro is $9/mo and adds automatic daily sync.
If you'd rather not maintain infrastructure, use the hosted one. If you'd rather own your database, clone this. Both are the same dashboard.
Next.js 16 (App Router) · Supabase (Postgres) · Recharts · Tailwind v4 · Vercel.
MIT — see LICENSE.
If you track income across more than one place, a ⭐ helps other people find this.