Blyton/Netflix-content-analysis-dashboard
๐ฌ Netflix Content Analysis Dashboard
A premium, Netflix-themed analytics platform built with Streamlit โ not just a chart page, but a full product...
๐ฌ Netflix Content Analysis Dashboard
A premium, Netflix-themed analytics platform built with Streamlit โ not just a chart page, but a full product: hero landing, KPI dashboard, interactive Plotly visualizations, a live SQL query layer, a Python cleaning notebook, a rule-based insight generator, a world map, a storytelling page, and a Power BI gallery.
Quickstart
pip install -r requirements.txt
streamlit run app.pyThe app opens at http://localhost:8501.
Project structure
netflix_dashboard/
โโโ app.py # entry point โ nav, sidebar filters, page routing
โโโ data/
โ โโโ netflix_titles_raw.csv # your uploaded dataset, untouched
โ โโโ netflix_titles_clean.csv # cleaned version the app reads (see modules/sections/python_section.py for the pipeline)
โโโ modules/
โ โโโ data_loader.py # cached loading + sidebar-filter logic
โ โโโ styles.py # design tokens, CSS injection, grain background, KPI cards
โ โโโ components.py # animated counters, movie card HTML
โ โโโ sections/
โ โโโ hero.py # landing page
โ โโโ dashboard.py # KPIs + 9 Plotly charts
โ โโโ explorer.py # search + movie card grid
โ โโโ worldmap.py # choropleth + spotlighted markets
โ โโโ insights.py # rule-based AI Insight Generator
โ โโโ sql_section.py # live SQLite query cards + custom query box
โ โโโ python_section.py # cleaning code, missing-value charts, live pandas snippets
โ โโโ powerbi_section.py # screenshot gallery (auto-loads from assets/powerbi/)
โ โโโ story.py # data-driven narrative page
โ โโโ about.py # profile, skills, links, resume
โโโ assets/
โ โโโ powerbi/ # drop your Power BI screenshots here (png/jpg)
โ โโโ resume.pdf # add your resume here to enable the download button
โโโ requirements.txtNotes on scope
- Posters: the Movie Explorer uses styled placeholder cards (initials on a gradient tile) rather than fetched poster art, by design โ no external image API is wired in.
- AI Insights: fully rule-based. Every line is computed live from the filtered dataframe (percentages, leading genre/country, peak years, etc.) โ no API key required, works offline.
- Power BI: the gallery auto-populates from
assets/powerbi/. Export your dashboard pages as images and drop them in; no screenshots ship with this repo. - SQL: queries run against a real in-memory SQLite database built from your data on each session โ nothing is hardcoded, including the custom query box at the bottom of that page.
Data cleaning summary
Raw dataset: 8,807 rows. After filling missing director/cast/country with "Unknown", dropping the handful of rows missing rating/duration, and de-duplicating on (title, type, release_year): 8,800 rows โ 6,126 Movies / 2,674 TV Shows. Full pipeline is in modules/sections/python_section.py (Cleaning Code tab) and mirrored below.
