A production-ready Streamlit dashboard template for SaaS metrics visualization. Perfect for indie hackers, startup founders, and SaaS businesses who need beautiful analytics without the complexity.
- π Key SaaS Metrics: MRR, customer count, churn rate, growth trends
- π¨ Beautiful UI: Custom dark theme with professional styling
- π Supabase Auth: Secure login/signup with email+password
- π€ AI Insights: Powered by Claude API for natural language metric queries
- π Rich Visualizations: Interactive charts with Plotly
- πΎ PostgreSQL Database: Robust data storage with Supabase
- π± Responsive Design: Works on desktop and mobile
- π Easy Setup: Running in under 5 minutes
- Python 3.11 or higher
- A Supabase account (free tier works!)
- Claude API key (from Anthropic)
# Navigate to the project directory
cd saas-analytics-dashboard
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt- Go to supabase.com and create a new project
- Once created, go to SQL Editor and run the contents of
schema.sql - Get your credentials from Settings β API:
- Project URL
- Anon/Public key
# Copy example env file
cp .env.example .env
# Edit .env and add your credentials:
# - SUPABASE_URL=your_project_url
# - SUPABASE_KEY=your_anon_key
# - ANTHROPIC_API_KEY=your_claude_api_key# Generate 12 months of realistic sample data
python seed_data.pystreamlit run app.pyVisit http://localhost:8501 and you're live! π
- Click the "Sign Up" tab
- Enter email and password (minimum 6 characters)
- Check your email for verification link
- Login with your credentials
- Overview: High-level metrics and trends
- Revenue Analytics: Deep dive into MRR and plan breakdowns
- Customer Insights: Growth, churn, and cohort retention
- AI Insights: Ask questions about your metrics in natural language
Try asking:
- "What's driving my revenue growth?"
- "How is my churn rate trending?"
- "Which plan tier is most profitable?"
- "Should I be worried about customer growth?"
saas-analytics-dashboard/
βββ app.py # Main Streamlit application
βββ requirements.txt # Python dependencies
βββ .env.example # Environment variables template
βββ schema.sql # Database schema
βββ seed_data.py # Sample data generator
βββ README.md # This file
βββ CUSTOMIZATION.md # Customization guide
βββ utils/
β βββ auth.py # Supabase authentication
β βββ database.py # Database queries
β βββ ai_insights.py # Claude API integration
β βββ charts.py # Plotly chart generation
βββ assets/
βββ style.css # Custom CSS theme
See CUSTOMIZATION.md for detailed instructions on:
- Changing colors and styling
- Adding new metrics
- Modifying database schema
- Customizing AI prompts
- Adding new chart types
Track your SaaS metrics without expensive tools like ChartMogul or Baremetrics. Perfect for validating product-market fit.
Share beautiful metrics with investors and team members. Export charts for pitch decks.
White-label template for client dashboards. Customize branding and metrics per client.
- Frontend: Streamlit 1.31
- Database: Supabase (PostgreSQL)
- Authentication: Supabase Auth
- Charts: Plotly 5.18
- AI: Anthropic Claude API
- Data: Pandas, NumPy
| Metric | Description |
|---|---|
| MRR | Monthly Recurring Revenue with growth trends |
| Customer Count | Total active customers with growth rate |
| Churn Rate | Percentage of customers lost each month |
| Plan Breakdown | Revenue and customers by tier (Starter/Pro/Enterprise) |
| Cohort Retention | Customer retention by signup month |
| New Customers | Monthly customer acquisition |
- Never commit your
.envfile to git - Use environment variables for all secrets
- Supabase handles authentication securely
- Row-level security can be added in Supabase for multi-tenancy
This template is provided as-is for personal and commercial use.
Issues? Check these common solutions:
β Run python seed_data.py to generate sample data
β Make sure .env file exists with valid credentials
β Check your email for verification link from Supabase
β Ensure you have data in the database and tables are created
Once you're comfortable with the template:
- Connect Real Data: Replace sample data with your actual SaaS metrics
- Add More Metrics: LTV, CAC, runway, burn rate, etc.
- Customize Styling: Match your brand colors
- Deploy: Use Streamlit Cloud, Heroku, or DigitalOcean
- Add Features: Email reports, Slack notifications, export to CSV
This template saves you:
- $299/mo - ChartMogul subscription
- 40+ hours - Building from scratch
- $2000+ - Hiring a developer
All for a one-time purchase. You get:
- β Production-ready code
- β Beautiful UI/UX
- β AI-powered insights
- β Full customization rights
- β No ongoing fees
Built with β€οΈ for the indie maker community
Questions? Found a bug? Want to share your customization?
Open an issue or submit a PR!