Overview¶
Waddle View is a TV dashboard platform: an always-on display that rotates slides, shows a scrolling bottom ticker, plays scheduled celebration overlays, and ingests data from built-in integrations and optional HTTP plugins.
It is optimized for Raspberry Pi (Linux ARM64) while supporting Windows and Linux x64 for development.
What you get¶
| Layer | Description |
|---|---|
| Display | Flutter app: slide rotator, ticker marquee, overlay host, local HTTPS REST on port 8787 |
| Persistence | SQLite (Drift) by default; optional PostgreSQL via WADDLE_DISPLAY_DATABASE_URL; filesystem blob store for media |
| Data engine | Sequential collectors (IDataProvider) write into SQLite; curator builds slide/ticker programs |
| Controller | React operator UI; optional Node BFF proxies API calls to displays |
| Security | Role-based API keys (admin, operator, power_viewer, viewer); integration secrets encrypted in SQLite |
| Cloud feed (optional) | WADDLE_SAAS_MODE — display consumes a remote feed instead of local collectors |
Typical deployment¶
flowchart LR
TV[TV or monitor]
Pi[Raspberry Pi]
Browser[Operator browser]
TV --> Pi
Browser -->|HTTPS REST or BFF proxy| Pi
Pi -->|Collectors| Internet[Internet APIs]
- Install waddle_display on a Pi or PC connected to a TV.
- Pair the controller using the on-screen adoption challenge.
- Configure integrations, screens, ticker tapes, and overlays.
- Let the display run; data refreshes on a background schedule.
Applications in the monorepo¶
| Path | Purpose |
|---|---|
apps/waddle_display |
TV dashboard (main product) |
apps/waddle_controller |
Operator web UI + Hono BFF |
apps/waddlectl |
CLI backup/restore |
packages/waddle_shared |
Drift schema, collectors core, auth |
packages/waddle_integrations |
Built-in data providers |
packages/waddle_plugin_sdk |
Plugin author SDK |
Next steps¶
- Development setup — run locally on Windows or Linux
- Architecture — runtime modules and data flow
- Install on Raspberry Pi — production deployment
- Controller guide — operator workflow