Presenter Slides

Each module has a self-contained slide deck. They open in the browser, work offline (no internet needed once the page loads), and print straight to PDF. Present from the site, or download the repo and open the HTML files directly.

Deck Covers
Welcome & the Roastery Tour The day, the domain, the checkpoint system
Module 1 — Fundamentals Route groups, binding, TypedResults, filters, OpenAPI
Module 2 — Data & Validation EF Core, DTOs, validation, ProblemDetails, paging
Module 3 — Security Identity, JWT, policies, resource authz, hardening
Module 4 — Production Readiness Caching, background work, resilience, health, tests
Module 5 — Shipping Aspire, containers, versioning
Print all decks Every slide stacked, one per page, for a single combined PDF

Presenting

Bullet points build in one at a time: each press of reveals the next bullet on a slide, then advances to the next slide. Deep links and the print view show every bullet at once.

The decks are driven entirely by the keyboard:

Key Action
Space Next slide
Previous slide
Home / End First / last slide
g Overview grid (click a slide to jump)
s Speaker notes
t Light / dark theme
f Fullscreen
p Print (use your browser's "Save as PDF")
? Keyboard help

Slides deep-link by number (…/module-1.html#5), so you can hand out a link to a specific slide, and a refresh keeps your place. On a touch screen, swipe left and right.

Making a PDF handout

For one deck: open it, press p (or your browser's Print), and choose Save as PDF — the print stylesheet lays every slide out one per page. For the whole set at once, open Print all decks and use its Print / Save as PDF button.

The title slides and the print header use an inline SVG logo (it follows the theme colour). To use your own, replace the LOGO_SVG value at the top of slides-src/build.py with your inline SVG — use currentColor for fills/strokes so it adapts to light and dark — then regenerate.

Editing the decks

The decks are generated from a single source so they stay consistent. Edit the content in slides-src/build.py and regenerate:

python3 slides-src/build.py

This rewrites the HTML files in docs/slides/. There are no build dependencies beyond Python 3.