PROJECT · 0001 · TEMPLATE TOUR
A year of reading, 2025
Did I actually read this year, when, and on what?
The pipeline
| Question | One sentence, plain language | written before any chart |
| Data contract | notebooks/01, cell 2 | variables, types, units — decided before chart type |
| Evidence | raw CSV → DuckDB/Polars → processed CSVs | aggregations land in files, not memory |
| Chart selection | notebooks/01, audit cell | 3 candidates per chart, rejection reasons recorded |
| Charts | charts/*.html via lieflat-en | F2 hairline line · F1 rung bars · F4 tick donut — one silhouette each |
| Essay | posts/2025-reading-year-draft.md | the deliverable the charts serve |
The proof
The full write-up lives in the essay; here is the chart that started it — October as the high-water mark, with the July dip shown rather than cropped.
Artifacts
notebooks/01-template-tour.ipynb— data contract, DuckDB + Polars aggregates, chart-selection auditdata/raw/reading-log-2025.csv— 291 sessions, deterministic (seed 20250101)data/processed/*.csv— monthly minutes, genre minutes, genre sharecharts/*.html— three single-file charts, source lines naming type, unit, dataset, notebookposts/2025-reading-year-draft.md— the essay draftrun_notebook.py— one-command rerun of the whole pipeline
This project is the worked example of the project template this site's pipeline is built on: same folders, same conventions, same chart engine.