Booth Demo Guide¶
The SDK now includes a fair-ready demo flow that creates:
- three simulation runs
- a jury-friendly poster
- a written talk track
- optional AI-ready artifacts for the safety case
What It Shows¶
The booth demo tells one clean story in three panels:
Normal RunA moderate day where the controller keeps glucose in range.Meal Stress TestA harder day with larger meals and exercise.Supervisor OverrideA deliberately unsafe AI request that gets blocked by the safety supervisor.
That makes it easy to explain the SDK in public:
- it simulates
- it stresses
- it protects
Fastest Way To Run It¶
From the repository root, for the cleanest live on-stage flow:
./scripts/run_live_stage_demo.sh
That script is backed by examples/demos/07_live_stage_demo.py, which is the best file to show first because the top of the file clearly exposes the patient profile, output directory, duration, and deterministic seed.
It also visibly demonstrates these SDK features in code:
run_full(...)generate_results_poster(...)prepare_ai_ready_artifacts(...)
You can also run the full booth bundle script directly:
./scripts/run_booth_demo.sh
Or with the CLI:
iints demo-booth
Or from source:
PYTHONPATH=src python3 examples/demos/06_booth_demo.py
Main Outputs¶
By default the outputs go to results/booth_demo/.
Key files:
results/booth_demo/booth_demo_poster.pngresults/booth_demo/booth_demo_poster.jsonresults/booth_demo/JURY_TALK_TRACK.mdresults/booth_demo/BEURS_LIVE_DEMO_SCRIPT.txtresults/booth_demo/run_commands.mdresults/booth_demo/demo_summary.jsonresults/booth_demo/showcase_study/showcase_study_summary.jsonresults/booth_demo/showcase_study/showcase_study_poster.pngresults/booth_demo/showcase_study/SHOWCASE_RESEARCH_SYNC.mdresults/booth_demo/showcase_study/SHOWCASE_EXPLANATION_PANEL.md
For the larger public story, you can also build:
iints demo-expo --output-dir results/expo_demo
That adds:
results/expo_demo/study_summary.jsonresults/expo_demo/study_summary.mdresults/expo_demo/evidence_table.csvresults/expo_demo/evidence_table.mdresults/expo_demo/study_poster.png
Each scenario also gets its own full run bundle with:
results.csvaudit/baseline/clinical_report.pdfrun_manifest.json
The showcase_study/ subfolder is the research-sync layer for fairs and jury tables. It mirrors the benchmark language used by iints run-study:
- baseline vs candidate
- safety-on vs safety-off
- the same TIR, hypo, intervention, uncertainty, and calibration vocabulary used in study bundles
- a plain-language explanation panel you can read out on the stand without changing the scientific terminology
Best Live Flow¶
Use the smallest readable source file as your starting point:
examples/demos/07_live_stage_demo.py
What to point at first:
PATIENT_CONFIG- show that a patient can be swappedOUTPUT_DIR- show that all artifacts land in one bundleDURATION_MINUTESandTIME_STEP_MINUTES- show simulation controlSEED- show reproducibility
Then run:
./scripts/run_live_stage_demo.sh
That wrapper script resolves the repository root automatically, so you do not have to manually cd into the right place first if you launch it via its full path.
Then open:
results/booth_demo_live/booth_demo_poster.pngresults/booth_demo_live/JURY_TALK_TRACK.mdresults/booth_demo_live/BEURS_LIVE_DEMO_SCRIPT.txt
If you are on a machine that only has the installed SDK and not the repository checkout, first export the same showable demo code with:
iints demo-export --output-dir iints_demo
cd iints_demo
python 07_live_stage_demo.py
If someone wants proof that the poster is real, open one of the scenario folders and show:
results.csvclinical_report.pdfrun_manifest.json
Optional Local AI Step¶
If Ollama and a local Ministral model are ready, the booth demo also prepares the Supervisor Override run for AI explanation.
Recommended live check:
iints ai local-check --model ministral-3:3b
iints ai report results/booth_demo/03_supervisor_override --model ministral-3:3b
iints ai review results/booth_demo/03_supervisor_override --model ministral-3:3b
iints ai explain results/booth_demo/03_supervisor_override --model ministral-3:3b
Jury Framing¶
Suggested one-line pitch:
IINTS-AF is a safety-first SDK for testing insulin-delivery algorithms before they ever touch a real patient.
Suggested walkthrough:
- Open
examples/demos/07_live_stage_demo.pyand point atPATIENT_CONFIG,OUTPUT_DIR,DURATION_MINUTES, andSEED. - Say that a different patient can be tested by swapping the patient profile name or pointing to another YAML config.
- Run
./scripts/run_live_stage_demo.sh. - Open the left panel first: normal control.
- Move to the middle panel: stress handling under meals and exercise.
- Finish on the right panel: the supervisor blocks unsafe insulin.
- Point out that each panel comes from a full reproducible run bundle, not a hand-drawn mockup.
- If time allows, show the local AI explanation on the safety case.
Why This Is Good For A Fair¶
- one command to run
- one poster to show
- one markdown talk track to read from
- one safety story that non-technical people can understand
Alternative: Live Raspberry Pi Demo¶
If you want a more "alive" booth setup, use the new persistent patient runtime instead of the three-panel booth bundle:
iints quickstart --project-name iints_pi_demo
cd iints_pi_demo
iints patient scenarios
iints patient start \
--algo algorithms/example_algorithm.py \
--workspace patient_runtime \
--scenario-profile normal_day \
--mode demo-time \
--speed 60x
Then present:
- the dashboard at
http://127.0.0.1:8765/dashboard iints patient inject-meal --carbs 60 --workspace patient_runtimeiints patient expo-reset --workspace patient_runtimeiints patient export-service --workspace patient_runtime- optionally
iints patient review --workspace patient_runtime --model ministral-3:3b
That path is documented in: