A single repository that combines a reproducible data cleaning pipeline, interactive analytics, and algorithm visualizations.
Data projects often lack a reproducible path from raw inputs to trustworthy visuals.
An ETL-style cleaning pipeline with data contracts and reporting, plus interactive plots and algorithm visualizers that make results inspectable.
Python, pandas, NumPy, matplotlib, mplcursors, pytest, GitHub Actions.
- Reproducible cleaning with validation
- Interactive analysis with cursor inspection
- Visual explanation of algorithm behavior
- Static dashboard export for public portfolio review
- Data contracts and validation before visualization
- Separated modules for ETL, analytics, and algorithms
- Test coverage for both pipeline and algorithm logic
- The cleaning pipeline validates synthetic input data before charts are generated.
- Tests cover data-cleaning behavior and algorithm logic.
- The exported dashboard screenshot provides a stable review artifact for GitHub.
- Interactive charts use cursor inspection so values can be checked instead of only viewed visually.
- Interactive charts are useful locally, but GitHub needs static screenshots; the project supports both.
- The dataset is synthetic to avoid privacy issues, so the focus is on process quality rather than business claims.
- Validation is kept explicit before visualization because clean-looking charts can still hide bad data.
python -m venv .venv
.venv\Scripts\python -m pip install -U pip
.venv\Scripts\python -m pip install -e .[dev]
.venv\Scripts\python -m interactive_data_vizcleaning_pipeline/: load, validate, clean, reportviz/: interactive plots, dashboard export, and algorithm visualizationsalgorithms/: sorting + BST + metrics
- Run the app to generate the cleaning report and open the interactive charts.
- Explore a chart point with the cursor to show exact values.
- Open the algorithm visualizer and compare metrics.
- Review
docs/images/viz_demo.pngas a stable GitHub screenshot of the data-quality flow.
.venv\Scripts\python -m pytestSee docs/DECISIONS.md.
data/demo_students.csvcontains synthetic demo records (no real personal data).
See docs/ENGINEERING_NOTES.md for architecture rationale, tradeoffs, and project evolution notes.
