daily-dose
A Shiny for Python app for browsing my personal workout log (2020-2024), converted from it’s original R Markdown site. The does two things:
- Random Workout: pick one workout at random from the whole history
- On This Day: show every workout logged on today’s month/day, across all years
Each workout is either typed markdown or a photo of the day’s workout board/log.

App
Install
Using venv:
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Using uv:
uv venv
uv pip install -e ".[dev]"Run
Using venv (with it activated):
shiny run daily_dose.app:app --reloadUsing uv:
uv run shiny run daily_dose.app:app --reloadTest
Using venv (with it activated):
pytest
ruff check src tests app.py
mypy src app.pyUsing uv:
uv run pytest
uv run ruff check src tests app.py
uv run mypy src app.pyDeploy
app.py and requirements.txt at the repo root exist only for Posit Connect Cloud, which expects both in those exact locations. Local development needs neither. The deploy how-to guide has the full steps.
Docs
Docs are built with great-docs and organized by Diátaxis:
- The README.md is the homepage
- tutorials/ is a guided first run
- how-to/ has task recipes for: - regenerating the workout data
- updating screenshots
- rebuilding the site
- deploying to Posit Connect Cloud, and - running the test suite - explanation/ covers design decisions
- reference/ is generated from daily_dose.core’s docstrings.
Build the whole site from the repo root:
great-docs build