I created this video to show how I built a custom analytics dashboard using Python, pulling data from multiple sources to track my business performance in one place.
I love tools like Google Analytics, Stripe, and YouTube Studio, but switching between dashboards constantly gets tedious. That’s why I built a lightweight, custom dashboard with Python — and it’s way more useful than I expected.
Here’s how I approached the build, step by step.
Step 1: Plan your metrics
Before writing a single line of code, I decided what I wanted to track. My dashboard pulls in:
- YouTube subscribers and views
- Kajabi product sales
- Affiliate link clicks (via Stripe + Lasso)
- Email list growth
- Web traffic from Google Analytics API
I sketched a wireframe on paper first — just boxes with numbers. Simpler the better.
Step 2: Use Python with Flask
I built the backend using Python + Flask. It’s a lightweight web framework that’s easy to set up and run locally or on a VPS.
You don’t need to be an expert — just basic Python knowledge and a few packages:
- requests for API calls
- pandas for data manipulation
- jinja2 templates to display the dashboard
Step 3: Pull data from APIs
In the video, I show how I connected:
- YouTube Data API (for views, likes, subs)
- Stripe API (for sales and revenue)
- Google Analytics API (for sessions, pageviews)
Each API requires some setup (tokens, scopes), but once configured, I scheduled them to fetch data every few hours using a background script.
Step 4: Build and style the dashboard
Using Flask templates and Bootstrap, I created a responsive dashboard that shows:
- Daily sales
- Latest YouTube uploads and performance
- Monthly email list growth
- Top-performing blog posts
It’s minimal, fast, and focused on exactly what I want to know each morning.
I also explain how to host it on a basic DigitalOcean droplet for ~$5/month — or keep it local if you’re the only user.
Are you using 5+ dashboards daily, or thinking about centralizing your analytics?