Kao is a display, not a monitor — external systems push events via REST rather than Kao polling things itself. Update CLAUDE.md to reflect this: - New Design Philosophy section making the REST-first approach explicit - Architecture diagram updated to show external systems as the push source - Detectors section demoted to "Legacy Detectors" with a note to prefer push - TODO.md added with planned REST API improvements (SSE, notify queue, sticky notifications, named presets, batch notify, /history endpoint) and display improvements (brightness curve, scrolling ticker) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Kao — TODO
Feature ideas for future work, roughly in priority order.
REST API improvements
/statusSSE stream — replace frontend polling with a Server-Sent Events endpoint so the display reacts instantly and the 2s polling overhead disappears- Notification queue — buffer rapid
/notifycalls and auto-advance through them instead of clobbering; important when HA fires several events at once - Sticky notifications — a
sticky: trueflag on/notifyto keep a notification visible until explicitly cleared via/clear, rather than TTL-expiring - Named presets — define reusable notification profiles in
config.json(e.g."doorbell"→ specific emote/sound/color/duration) so callers can POST{"preset": "doorbell"}without repeating fields every time - Batch
/notify— accept an array in a single POST so multiple notifications can be queued atomically /historyendpoint — a ring buffer of the last N state changes/events received, for auditing what fired overnight without tailing logs
Display / frontend
- Brightness curve — dim gradually after dark rather than hard-sleeping; reduces OLED burn-in without losing glanceability
- Scrolling ticker — when multiple events are active, cycle through their messages rather than only showing the top one