Assignment: Build Two Dashboards
In Weeks 6 through 10, you built a data pipeline: raw data flows in and gets transformed by dbt into clean, query-ready mart tables. The pipeline produces trustworthy numbers. The question now is: how do you see what they say?
That is what dashboards are for. They are the last mile of the pipeline: turning stored numbers into answers that humans can act on.
By the end of this chapter, you should be able to:
Both dashboards this week read the exact same data: your fct_trips mart. What differs is how you build them and who they are for:
| No-code BI | Code-first app | |
|---|---|---|
| Tool this week | Metabase | Streamlit |
| How you build | Point-and-click Questions | Python you write yourself |
| Best for | Stakeholders who want self-serve charts | Custom logic, or a technical audience |
| Data source | The dbt marts | The same dbt marts |
| Example | Average fare per borough | KPI tiles + a data-freshness panel |
<aside>
💡 Key insight: The data is the same; the tool is the choice. Your fct_trips mart powers a Metabase chart showing revenue trends and a Streamlit app showing the same numbers plus a "can I trust this?" freshness panel. You pick the tool by audience and how much custom logic you need, not by the data.
</aside>
Using two tools in one week might feel like extra work, but the combination maps to how NL data teams actually divide responsibility:
You will encounter both patterns in the job market. This week lets you practice both on one coherent project.
flowchart LR
subgraph upstream["Your pipeline (Weeks 6-10)"]
direction LR
raw[("Raw data")] --> dbt["dbt models<br/>(Week 10)"]
dbt --> marts[("Mart tables<br/>fct_trips, fct_daily…")]
end
subgraph dashboards["Week 11: Dashboards"]
direction TB
meta["Metabase<br/>No-code BI<br/>stakeholder-facing"]
stream["Streamlit<br/>Code-first app<br/>metrics + freshness"]
end
marts --> meta
marts --> stream
classDef tool fill:#e8f4fd,stroke:#4a90d9,stroke-width:2px,color:#333;
class meta,stream tool;
<aside> ⌨️ Hands on: Look at the diagram above. For each tool, write down one dashboard you would build with it and one reason you picked that tool over the other. Compare your answers with the table at the top of this section.
</aside>
In the NL job market, Microsoft Power BI is the most common BI tool. It comes bundled with the Microsoft 365 ecosystem that most companies already pay for, so it is effectively "free" to adopt. If you head into an analytics-heavy role, you will very likely need to learn it on the job.
This course teaches Metabase instead, on purpose. The goal of Week 11 is the concept: what a no-code BI tool is, and how it differs from a code-first app. Power BI wraps that concept in a lot of extra machinery: a semantic layer (a modelling step that sits between the raw data and the report), plus its own languages, M / Power Query for shaping data and DAX for calculations. That is a heavy first BI tool. Metabase strips the idea back to its essence: connect to a database, write a Question, arrange Questions into a Dashboard. The mental model you build here (Questions, Dashboards, filters, metric definitions) transfers directly to Power BI, Tableau, or Looker: the concept is the same, only the interface and formula languages differ.
<aside> 💡 Power BI is the tool most NL analyst postings ask for by name. See Career relevance for how to signal transferable BI skills on your CV.
</aside>
Metabase dashboard: Three or more Questions built on fct_trips and fct_daily_borough_stats (from your Week 10 dbt project), arranged into a single dashboard with a date-range filter. Audience: a product manager who wants to understand NYC taxi demand trends.
Streamlit metrics app: A Python app that reads fct_trips to show headline KPIs, a daily trip-volume chart, and a data-freshness panel (row count and the latest pickup) so you can trust the numbers. Audience: you and your future team, plus anyone who wants a metrics view built in code.
<aside> 🤓 Curious Geek: The history of business intelligence
BI tools predate the web. In the 1980s, mainframe-era tools like IBM Cognos let analysts query databases through GUI interfaces. Tableau brought drag-and-drop to desktop analytics in 2003. Metabase (2015) made open-source self-serve BI mainstream. The parallel rise of Python data apps (Streamlit launched in 2019) reflects a different need: engineers who want code-level control, not point-and-click.
</aside>
A number without a definition is an opinion. Two people looking at the same data can compute "revenue" differently (gross vs net, before vs after cancellations) and produce different totals. Dashboards without metric definitions erode trust over time.
A trustworthy metric has five documented fields:
| Field | Example |
|---|---|
| Name | avg_fare_per_trip |
| Description | Average fare charged per completed taxi trip |
| Calculation | AVG(fare_amount) where trip_distance > 0 |
| Data source | fct_trips: built by your Week 10 dbt project |
| Refresh frequency | Rebuilt once per day (later, an orchestrator schedules this rebuild automatically) |
Presenting Metrics covers metric definitions in depth. Keep the five fields in mind as you build your dashboards in Metabase Setup through Building a Metrics Dashboard: you will fill them in for every panel before you present.
If you are unsure how a concept fits together, an LLM can help clarify.
<aside> 💡 Using AI to help: You can paste a Metabase SQL query or Streamlit code snippet into an LLM to help debug it. ⚠️ Never include real database passwords or personal data.
</aside>
The next chapter, Metabase Setup, moves from concepts to connecting a live BI tool to your database. No state to build yet: just confirm the mental model is in place:
fct_trips and fct_daily_borough_stats) and the dev_<name> schema they live in.<aside> 🚀 Try it in the widget: Interactive Quiz: Introduction to Dashboarding
</aside>
https://lasse.be/simple-hyf-teach-widget/mcq.html?bank=week_11_ch1_intro_dashboarding_quiz&embed=1
If the distinction between the two dashboarding approaches felt unclear, this practical demo walks through how to design dashboards that answer stakeholders' questions and tell a clear story.
<aside> 🎬 Struggling with this concept? Watch this beginner-friendly video:
Telling a Story with Data | Dashboard Build Demo
</aside>
https://www.youtube.com/watch?v=OYbPOhK0wPo
Next up: Metabase Setup, where you log in to the HYF-managed Metabase instance and connect it to the shared Azure Postgres.
The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0 *https://hackyourfuture.net/*

Built with ❤️ by the HackYourFuture community · Thank you, contributors
Found a mistake or have a suggestion? Let us know in the feedback form.