Creator tooling · Python + Flask · Personal project

Three channels, one dashboard, and a straight answer for "why is this video underperforming."

A local tool that pulls real YouTube Data and Analytics API numbers for three channels, runs them through a rules engine that flags exactly what's wrong, and suggests what to make next — all on my own machine, nothing in the cloud.

Stack
Python · Flask
Data source
YouTube APIs
Storage
Local SQLite
Channels tracked
3

YouTube Studio tells you what happened. It doesn't tell you what's wrong.

Running three channels (tourism, podcast, tutorial content) means checking three separate dashboards, none of which say "this video's retention is weak because of its length" or "this channel's momentum is declining" — they just show numbers and leave the diagnosis to you, every time, by hand.

Not just a dashboard — a diagnosis.

Multi-channel comparison

All three channels side by side, so it's immediately obvious which one is actually demanding attention this week.

Rules-based diagnostics

Low CTR, weak impressions, high drop-off relative to video length, videos actively losing subscribers, inconsistent upload gaps, declining momentum — flagged automatically, not eyeballed.

Topic Ideas

Google Trends search interest combined with what's actually performing well for competitors in the same niche right now — not generic keyword suggestions.

Everything stays local

A local Flask app, SQLite on disk, OAuth straight from my machine to Google — no third-party service ever holds the analytics data or account access.

Real API data, not a mockup

Pulls directly from the YouTube Data and Analytics APIs via OAuth — the diagnostics run on actual numbers, not synthetic sample data (though a demo mode exists for trying it without connecting a real account).

History, not just a snapshot

Every sync adds a new snapshot instead of overwriting the last one, so trends are visible over time, not just a single point-in-time read.

Built for the actual workflow

Every threshold in the diagnostics engine is configurable — because "low CTR" for a tutorial channel and a tourism channel aren't the same number.

Want the real build story — the diagnostics logic and the OAuth setup?

Read the full case study