Interactive Data Dashboard
Part of the AI Engineer Roadmap
In short
A notebook is for you. A dashboard is for everyone else. Building one shows you can turn analysis into something a non-coder can use, which is a big part of real AI work.
A small web dashboard (Plotly Dash, Streamlit) that lets a user explore a dataset interactively — a portfolio piece that shows you can ship, not just analyze.

Think of it like this
A control panel with knobs
In a control room, the operator turns a knob and the gauges respond instantly. Nobody needs to understand the wiring. Your dashboard is that panel: filters and sliders are the knobs, charts and numbers are the gauges, and pandas is the wiring behind the wall.
Watch it happen
One slider move in a Streamlit app
min order = ₹500
1/5The viewer drags a slider in the sidebar.
The big ideas
What you need to know
Plan the questions first
Decide the three questions a viewer should answer, then add only the filters and charts that help.
Filters in the sidebar
Dates, categories and thresholds go on the side. Results go in the main area.
Cache the slow parts
Loading and heavy cleaning should run once. Streamlit's st.cache_data does this with one decorator.
Deploy it
A live link beats a screenshot. Streamlit Community Cloud can host an app straight from a GitHub repo.
See it in code
Walk through the code
1import pandas as pd2import plotly.express as px3import streamlit as st4 5@st.cache_data6def load():7 return pd.read_csv("sales.csv", parse_dates=["date"])8 9df = load()10st.title("Sales explorer")11cities = st.sidebar.multiselect("City", sorted(df["city"].unique()))12min_amt = st.sidebar.slider("Minimum order (₹)", 0, int(df["amount"].max()), 0)13 14view = df[(df["city"].isin(cities) | (len(cities) == 0)) & (df["amount"] >= min_amt)]15st.metric("Revenue", f"₹{view['amount'].sum():,.0f}")16st.plotly_chart(px.line(view.groupby("date", as_index=False)["amount"].sum(), x="date", y="amount"))1/4The CSV is read once and cached across reruns.
Save as app.py and run streamlit run app.py. It expects a sales.csv with date, city and amount columns, so make a small one to start.
Save yourself the pain
Common mistakes
Oops
Putting 15 charts on one page because you can.
Do this instead
Show the few that answer your three questions. Put details in an expander or a second page.
Oops
Reading the CSV on every interaction, so the app feels slow.
Do this instead
Wrap loading and heavy cleaning in @st.cache_data.
Your mission
First milestone: one filter, one chart
Quick check
In Streamlit, what happens when a viewer moves a slider?
Go deeper
- 1Build a Streamlit or Dash app with at least two interactive filters/charts.
- 2Deploy it publicly (Streamlit Community Cloud is free) so it's linkable.
- 3Keep the UI focused on answering one clear question about the data.
More projects at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.