Skip to content

Repository files navigation

Meterboard

One meter for every service.

Meterboard is an open-source command center for SaaS spend, credits, quotas, seats, renewals, and runway. It is account-first: connect a provider account or workspace directly instead of granting access to application source code.

Status: early production foundation—not a production SaaS. The public dashboard is a static, clearly labeled demo and collects no credentials. The provider catalog, credential envelope, selected HTTP validation probes, API boundary, schema, and deployment assets are implemented; web authentication, OAuth/App callbacks, deferred SDK flows, continuous collectors, and alerts are roadmap work.

Launch integrations

OpenAI, Anthropic, GitHub, Vercel, Supabase, Modal, Render, Resend, PostHog, and WorkOS.

Provider APIs expose different truths. Meterboard preserves native units and labels every observation as provider-reported, calculated, manual, or invoice-derived. It never presents a budget as cash or invents a remaining balance when the provider does not publish one.

See provider capabilities for the first-party evidence and explicit gaps.

Target architecture

The topology below is the deployment target, not the current public demo. Today the web build is static and does not yet implement WorkOS sessions or call provider collectors. The implemented API and database boundaries can be deployed separately for continued development.

Next.js on Vercel
       │ WorkOS access token
       ▼
FastAPI on Render
       │
       ├── Supabase Postgres
       └── Provider account APIs
  • apps/api — Python 3.12+ / FastAPI
  • apps/web — Next.js / TypeScript
  • supabase — Postgres schema and access controls
  • docs — architecture, provider evidence, deployment, and roadmap

Credentials are sealed with AES-256-GCM before database persistence. The API never returns stored credential material.

Local development

Requirements: Python 3.12+, uv, Node 22+, and npm.

cp apps/api/.env.example apps/api/.env
cp apps/web/.env.example apps/web/.env.local
make install
make dev-api
# In another terminal:
make dev-web

Development defaults to an in-memory store but still uses the WorkOS auth dependency; the test owner header is available only through explicit unit-test app construction. Staging and production fail startup unless DATABASE_URL, CREDENTIAL_ENCRYPTION_KEY, WORKOS_ISSUER, and WORKOS_AUDIENCE are configured.

Verify

make verify
docker build -t meterboard-api .

Deployment

See docs/deployment.md. The repository includes a Render blueprint, Vercel configuration, Supabase migration, and GitHub Actions verification workflow. It deliberately does not provision billable infrastructure automatically.

Security

Read SECURITY.md before operating Meterboard with real credentials. Use a dedicated WorkOS application, database, and encryption key; do not reuse another product's environments.

Contributing

Issues and pull requests are welcome. Connector contributions must document the supported provider API, use least-privilege read access, redact errors, and preserve provenance for every normalized metric.

License

MIT

About

Open-source command center for SaaS spend, credits, quotas, renewals, and runway

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages