What it does
A fleet of four Raspberry Pi devices running Python/FastAPI clients in Chromium kiosk mode. They show rotating prize info, event schedules, vendor listings, and live winner announcements via Server-Sent Events.
Fleet management
The entire Pi fleet is provisioned and managed with Ansible playbooks that handle Tailscale VPN enrollment, systemd services, boot ordering, and automatic recovery after power loss. A Pi that loses power during the event boots back to a working kiosk state without manual intervention.
Technical details
- Python/FastAPI local client on each Pi drives Chromium in kiosk mode
- Server-Sent Events for live updates (prize winners, schedule changes)
- Cloudflare Workers API serves display data with tiered KV caching
- Ansible playbooks for fleet provisioning and configuration management
- Tailscale VPN for remote management during the event
- systemd services with automatic restart and boot ordering
- Survives unclean power cycles without manual recovery