Course Index for Busy People
What you learned, what to reach for, and where to find it
A single-page index of every technique covered in the course: what situation calls for it, the key tool, and direct links to the relevant code example, lecture slides, and docs.
| When I… | I use… | So I can… | Resources |
|---|---|---|---|
| Reactivity | |||
| have a costly filter used by multiple outputs | @reactive.calc |
reuse one computation across dependent outputs, reducing redundancy | app · L03 L04 · docs |
| need a side effect to run only when specific inputs change | @reactive.event |
avoid unintended side effects from reactive cascades | L03 · docs |
| need to trigger a reset or action on button click | @reactive.event(input.btn) + @reactive.effect |
run DB writes or UI resets exactly when the user asks | L03 · docs |
| Data I/O | |||
| want my app to react to users sorting/filtering/selecting rows | DataGrid + .data_view() |
build logic on what the user sees | app · L06a · docs |
| need to give users a data file (csv/…) | @render.download + download_button |
let users take some results out of the app | L06a · docs |
| need to save user input or logs across sessions | external DB + @reactive.effect (with @reactive.event) |
store data in a way that survives multiple sessions and server restarts | app-03 app-04 · L09 · docs |
| have a dataset too large to load at startup | Parquet + DuckDB [+ ibis] | keep the app fast without loading everything into memory | app · L09 · ibis DuckDB |
| LLM & AI | |||
| want to embed a chat interface in my dashboard | QueryChat |
let users explore data conversationally, in context | app-07e app-07f · L07d · querychat |
| need to constrain what the LLM answers about | system_prompt + data description |
focus the assistant on your data and prevent off-topic responses | L07d · querychat |
| want the LLM to use instruments and tools | chat.register_tool() (chatlas) |
extend the LLM with external functionality and data access | L08a · chatlas |
| need structured fields from unstructured text | Pydantic + structured output | extract structured fields to use in code or output in a particular format | L08b · pydantic |
| need the LLM to answer questions about my specific domain | RAG (per-query injection) | get correct answers without fine-tuning | rag_demo · L08c · LlamaIndex |
| want to log what users ask the LLM | on_tool_request hook + external DB |
audit trail without blocking the flow | app-04 · L09 · querychat |
| want to measure if prompt changes improve output | inspect_ai evals |
compare models and iterate with evidence | L08e · inspect.ai |
| Geospatial | |||
| need to show geographic patterns | Altair choropleth / point map | explore regional variation interactively | app-04 app-05 · L05a · Altair maps |