~/ctoruno
← All projects← All projects
Publication

Designing Data and Analytical Workflows

A practical guide to building reproducible, maintainable data workflows.

Role
Sole developer
Year
2026
Stack
Node.js · VitePress
For
Personal Portfolio

What it’s about

A practical, opinionated guide to building data and analytical workflows that are reproducible, maintainable, and optimal — written for analysts, researchers, and data scientists who write code to work with data but may not come from a formal software engineering background. It’s a living book, not a one-off tutorial: content is added and revised as tools evolve and new lessons accumulate.

Read it online: ctoruno.github.io/data-analytics-workflows

What it covers

The guide is organized around three core principles:

  • Reproducibility — openness, portability, and traceability
  • Maintainability — readability, modularity, observability, and idiomaticity
  • Optimality — efficiency and scalability

Examples are primarily in R and Python, though the principles themselves are language-agnostic — Stata and Julia coverage is planned.

Stack and how it was built

The book is a VitePress site: Markdown files under docs/ each become a page, with the file path determining the URL, and navigation controlled separately in docs/.vitepress/config.mjs. There’s no backend or database — the build output is a folder of static files, deployed to GitHub Pages.

Publishing is fully automated: every push to master triggers a GitHub Actions workflow that installs dependencies, runs the VitePress production build, and publishes the result. Two details keep the deploy correct — the base path in the config matching the GitHub Pages subpath, and a .nojekyll file so GitHub Pages doesn’t mangle asset filenames that start with an underscore.

License

The written guide is licensed under CC BY-NC 4.0 (share and adapt freely, with attribution, for non-commercial use); the code samples and site configuration are MIT licensed. Feedback, corrections, and contributions are welcome via issues or pull requests on GitHub.

Guide home page.
Guide home page.
Guide reading sections.
Guide reading sections.