Pipeline to Dashboardnihalsulaiman.com

Portfolio projects

Seven repos, one per week, each a complete proof with a pipeline, tests, a dashboard and a README. The capstone combines them. Build them locally first; publish when you've chosen where they live.

Week Repo Sector What it proves Headline evidence
1 retail-ingest Retail (12 stores) Multi-source ingestion: email, folder, SFTP, API; idempotent raw zone Completeness heatmap showing a silent store
2 qsr-clean QSR (3 brands, 18 restaurants) Contracts, business-day logic, dedup, quarantine, DQ report, AI-assisted cleaning Conservation test + DQ report
3 hotel-dagster Hotels (5) Dagster assets, partitions, sensors, retries, checks, Docker deploy Asset graph + backfill story
4 ads-warehouse Marketing agency Azure SQL with Entra auth, MERGE patterns, swappable warehouse, benchmark Audit table + benchmark table
5 restaurant-dbt Restaurants Kimball star, SCD2, dbt tests and docs, metrics, menu engineering dbt lineage + reconciliation test
6 chain-dashboards Restaurants + hotels Power BI (PBIP, DAX, RLS), Metabase twin, emailed reports, reconciliation Dashboard screenshots + bridge
7 daily-data-platform All four The whole platform with CI, SLOs, cost model and business case Demo morning video

README template for every repo

# <repo name>: <one-line result>

![screenshot or diagram](docs/img/hero.png)

**Problem.** Two or three sentences about the business and what arrives every morning.

**What I built.** 4–6 bullets with numbers you measured.

## Architecture
<diagram> + stack table (tool · role · why)

## Run it in 5 minutes
    git clone … && cd …
    just setup
    just demo

## Design decisions
- Decision · why · alternative considered (link ADRs)

## Tests and checks
What they prove, how to run them.

## What I'd do next
Three items, honest.

*All data is synthetic, generated by `generate_data.py`. No real company data is used.*

Publishing checklist (when you're ready)

  1. Confirm no secrets: gitleaks detect on the full history.
  2. Confirm only synthetic data is committed; large generated data is git-ignored (commit the generator and a small sample instead).
  3. Screenshots and the video link in the README.
  4. Add topics on GitHub (data-engineering, dagster, dbt, power-bi, azure-sql, etl).
  5. Pin the capstone and two strongest proofs on your GitHub profile; add one line each to your profile README.
  6. Tell Claude which repo and path should host this course site, and it can publish it with GitHub Pages.

Hosting this course site later

This site is plain static HTML. To rebuild after editing lessons in content/:

pip install markdown pymdown-extensions
python build.py

To host on GitHub Pages, push the folder to a repo and enable Pages on the branch root (or a /docs folder).