DT10: Capstone: three data projects for SabziSathi
Demo, self-review and case studies
🎯You'll be able to
Demo the work, review it honestly against the marking guide and write a short case study for each project.
🏠The everyday picture
After building a water tank, the mason fills it, shows there are no leaks, opens the overflow to show it works, and hands over the key. Showing what happens when something goes wrong is part of the handover.
📘What it really is
- Demo (a recorded video of 10 to 15 minutes;
capstone/demo-script.mdhas a suggested order): - Project 1: the mess in a raw file, a day loaded twice with the same counts, the quarantine and the load log, a missing file failing;
- Project 2:
dbt buildwith its tests, the star schema, a customer who moved, no personal data in the marts; - Project 3: the dashboard, read out with its definitions, hidden small counts and freshness;
-
the full
pytest testsrun with 28 passing. -
Self-review against the marking guides: "met", "partly" or "not yet" for each area, with evidence: test runs, counts, totals and screenshots. Honest gaps with a plan are more useful than claiming everything is met.
-
Written design notes (
capstone/design-notes-template.md): a cloud warehouse with illustrative cost (DT5), whether to stream and what (DT4), and a BI tool with where definitions live (DT9). -
Case studies: one per project, with the problem, the approach, results in numbers and what you'd do differently. Label every figure as a result from the practice kit's synthetic data, with the date.
-
Repository tidiness: a README with setup and test steps; no
.duckdbfiles,.envfiles or salts committed; clear commit history.
📝A worked example
A learner's self-review, in part (illustrative):
| Area | Rating | Evidence |
|---|---|---|
| Pipeline | Met | 10 of 10 pipeline tests twice; load log totals add up to 10,660 |
| Model | Met | 10 of 10 warehouse tests; customer 133's orders split 6 and 3 by area |
| Dashboard | Met | 8 of 8 dashboard tests; a colleague answered three questions from the page |
| Scale judgement | Partly | Streaming design written; Kafka and Spark not run (not verified) |
| Warehouse | Partly | BigQuery cost estimate from the published price list; not run on BigQuery |
The "Partly" items came with a plan: try the dbt project on BigQuery's free allowance with synthetic data, and run a local Kafka container for the event design.
🌍Where it's used
- Handover to a new team or client.
- Job applications and interviews, where "walk me through a number" is a common request.
- Data reviews before a dashboard goes to leadership.
📝Case scenario
In a demo, a reviewer asks the learner to change one order's quantity in a raw file and re-run the pipeline and dbt build. The learner
shows the one line changing in the fact table, the day's revenue moving by exactly that amount, and the dashboard following. The reviewer
notes it as the strongest evidence in the portfolio: the learner could trace a number from file to page.
🖱️Try it
Record your demo, complete the self-review with evidence, tidy the repository, and write three case studies and the design notes. Ask someone to pick any number on your dashboard and trace it back with you to the raw files.
⚠️Common mistakes
- A demo with only the happy path. Sign: nothing goes wrong on screen. Fix: show a missing file, a quarantined row and a failing test.
- Claiming checks you didn't run. Sign: "works on BigQuery" with no evidence. Fix: say "not verified" for anything you couldn't run.
- Unlabelled numbers. Sign: figures with no date or source. Fix: label every figure as synthetic practice-kit data, with the date.
🛠️For your project
Record your results on each project page; the completion record collects them.
✅Quick check
What should a data demo show besides the happy path?
Show the answer
A re-run that changes nothing, a quarantined row, a failure that's caught, and a number traced from file to page.
What makes a strong case study?
Show the answer
A clear problem, the approach, results in numbers labelled as practice-kit data, and an honest note on what you'd change.
