122 lines
5.1 KiB
Markdown
122 lines
5.1 KiB
Markdown
# Utah Vehicle Health dashboard demo script
|
|
|
|
Target length: **2 minutes 45 seconds**, embedded in the
|
|
[10-minute presentation](presentation_outline.md).
|
|
|
|
## Before the audience arrives
|
|
|
|
1. Put the presenting computer and demo computer on the same trusted network.
|
|
2. Stop any older dashboard process, then from the repository root run
|
|
`node dashboard/server.mjs --lan`.
|
|
3. On the demo computer, open the printed **Other devices** URL for the shared
|
|
Wi-Fi or Ethernet interface with `/#overview` appended. On the presenting
|
|
computer, use the printed **This computer** URL.
|
|
4. Confirm the header says **Validated sample aggregates**. If an older copy of
|
|
the JavaScript was previously loaded, hard-refresh the page once.
|
|
5. Confirm the private-sample development-preview banner is visible.
|
|
6. Visit all four routes: Overview, Sample cohorts, Model & benchmark, and Data
|
|
& methods.
|
|
7. Reset Sample cohorts and leave its sort on largest support.
|
|
|
|
Do not open developer tools, private files, model artifacts, database clients,
|
|
or environment variables during the presentation. Stop the server with
|
|
`Ctrl-C` when the demo is over.
|
|
|
|
## Live talk track
|
|
|
|
### 0:00-0:25 — Establish the boundary
|
|
|
|
**Action:** Start on **Overview**. Point to the development-preview banner before
|
|
pointing to a chart.
|
|
|
|
**Say:**
|
|
|
|
> The most important element is this banner. Every value in the dashboard comes
|
|
> from the private 10,000-vehicle development sample. These are suppression-
|
|
> reviewed sample aggregates, not population estimates, and they cannot support
|
|
> individual decisions or county rankings.
|
|
|
|
### 0:25-1:00 — Explain the overview
|
|
|
|
**Action:** Point to published support and the observed first-attempt non-pass
|
|
trend, then the coverage map and vehicle-age chart. Do not rank counties by
|
|
outcome.
|
|
|
|
**Say:**
|
|
|
|
> The overview reports rounded support and sample first-attempt outcomes for
|
|
> returning vehicles. Non-pass combines fail, reject, and abort. The trend is
|
|
> descriptive of sampled records only. This county graphic communicates feed
|
|
> availability: gray means unavailable, not zero and not better. The age pattern
|
|
> is also an observed sample association, not a causal claim or diagnosis.
|
|
|
|
### 1:00-1:35 — Use Sample cohorts safely
|
|
|
|
**Action:** Open **Sample cohorts**. Search for `Toyota` or another currently
|
|
supported make. Leave sorting on largest support. Point to rounded support and
|
|
the “observed sample non-pass” label.
|
|
|
|
**Say:**
|
|
|
|
> This view contains only prior make-and-model cohorts that cleared the
|
|
> publication thresholds. Selected source abbreviations and trim labels are
|
|
> combined for new model families, while earlier published cohorts keep stable
|
|
> definitions. I can search supported cohorts, but these are observed
|
|
> development-sample associations—not reliability grades, rankings, or
|
|
> recommendations. Unsupported slices are not inferred in the browser, and
|
|
> suppressed rows are absent rather than hidden.
|
|
|
|
**Action:** Reset the search before leaving the view.
|
|
|
|
### 1:35-2:15 — Separate the final model from its benchmark
|
|
|
|
**Action:** Open **Model & benchmark**. Point first to the role badges, then the
|
|
2024 calibration-fit scope strip, then the “No vehicle-level prediction service”
|
|
boundary.
|
|
|
|
**Say:**
|
|
|
|
> The governance decision is explicit: calibrated logistic regression is the
|
|
> final prototype model, while the boosted tree is benchmark-only. The numbers
|
|
> shown here are pre-2025 checks on the same 2024 sample partition used to fit
|
|
> calibration. They are not independent final-performance or population
|
|
> estimates, so we do not select between the cards from these values. The
|
|
> one-time 2025 comparison shown earlier favored logistic and stays in the report
|
|
> and presentation, not the browser bundle. This finished dashboard contains no
|
|
> vehicle lookup, personal inputs, or row-level prediction output.
|
|
|
|
### 2:15-2:40 — Close on method and privacy
|
|
|
|
**Action:** Open **Data & methods**. Briefly point to Prediction unit, the
|
|
chronological timeline, evidence status, and the privacy flow.
|
|
|
|
**Say:**
|
|
|
|
> The method page makes the contract visible: the target is the first attempt of
|
|
> a returning vehicle's next episode, and every feature ends before that episode.
|
|
> Training, tuning, and calibration are chronological. It also records that 2025
|
|
> was opened once after choices were frozen. Finally, the public path ends in
|
|
> suppressed summaries. No private rows or database connection reach this site.
|
|
|
|
### 2:40-2:45 — Transition
|
|
|
|
**Say:**
|
|
|
|
> That is the prototype: useful sample evidence, with model and privacy
|
|
> boundaries kept visible.
|
|
|
|
Return to the slide deck's privacy architecture.
|
|
|
|
## If something goes wrong
|
|
|
|
If the dashboard shows **data unavailable**, do not bypass validation or edit
|
|
JSON. Say:
|
|
|
|
> The site rejected an aggregate-contract mismatch and is failing closed, so it
|
|
> shows no estimates. That behavior is part of the privacy and integrity design.
|
|
|
|
Then continue with a backup screenshot or slides. If a cohort search returns no
|
|
rows, explain that unsupported or suppressed cohorts are intentionally absent
|
|
and reset the filter. Never substitute remembered values or improvise a vehicle-
|
|
level example.
|