SAMPLE · empty shell — layout only, no numbers. After paid launch: fill from adminStats + ops/billing.

Ops dashboard

CEO VIEW · USERS · RETENTION · UNIT ECONOMICS · BILLS · UPDATED —

Users
Total users
—
Active 7d
—
New this week
—
Free
—
Core
—
Elite
—
Infinite
—
Founders
—
Week retention (cohort)
D1
—
W1
—
W4
—

W1 = signed up week N, active in week N+1

Rates
Paid conversion
—
ARPU
—
90d churn
—
Gross margin
—
Cost & margin (this month)
Revenue
—
paid tiers
AI APIs
—
Gemini + OpenAI + Claude
VPS (DO)
—
fixed droplet
Firestore Blaze
—
usage
Other cloud
—
Functions / hosting / egress
Est. profit
—
revenue − costs
Active bills & due dates
Service Plan Amount Due Status
DigitalOcean VPS — — — —
Firebase Blaze — — — —
Google AI (Gemini) — — — —
OpenAI — — — —
Anthropic — — — —
Domain — — — —
Apple Developer — — — —
Google Play — — — —

Rows labeled; amounts/dates empty until you connect billing data.

Post-launch wiring:
1. Nightly job → stats/daily/{date}
2. HTML → authenticated adminStats
3. Bills → ops/billing
File: ops-dashboard-sample.html