one tap wakes the wall & unlocks audio — then “Welcome home” plays itself
Kazzak × the wall — one nervous system
Everything hard about the dashboard was the data layer — HomeSource, the HA adapter, the mode engine. None of it knows what a screen looks like, so the CrowPanel becomes a third subscriber that also has ears (mic), a mouth (2×3W speakers), and fingers (touch). Below: the live wiring, with eight walkthroughs that animate real flows — pulses ride the wires, the screens react, Kazzak speaks.
An interactive prototype: a custom wall display, a voice assistant, and a live community data layer that all ride one shared data spine. Tap any walkthrough to watch a real flow light up the wiring — the screens react, the assistant speaks. — redding.digital
walkthroughinteractions
What’s happening
Pick a walkthrough above — each step lights up here as its pulse moves through the system. Tap Radar ▸ wall on the panel itself to drive the touch demo by hand.
Front-door eyes
XIAO #2 · OV2640 · mmWave
one UXGA snapshot on presence — mounts facing the entrance
Who is it?
CompreFace · home server
face match in ~1 s · “Redding” or “Unknown”
LSN ops feed
home server · watchers
clock-ins · who’s in city · published stories → Supabase
The house brainstem
Home Assistant · Pi 5
entities · Assist pipeline · automations · TTS
Kazzak’s brain
Claude · Assist pipeline
answers, acts on devices, composes speech
THE SEAM
HomeSource.ts
one interface · N screens — subscribe down, callService up
around
72°
9:41
all systems quiet
Up Next
8:30 — Dentist
Welcome home, Redding
rain incoming · ~18 min
LOS SANTOSNEWS
● Breaking
Bank heist on Vinewood
★★★
The big calm wall DAKboard Pi · 1440×2560 · no touch theme: — · tap wall to cycle both screens
Kazzak
idle
9:4172° · clear
♪ Phoebe Bridgers — Motion Sickness · kitchen
Kazzak
R
Redding · front door
match 0.93 · CompreFace · 1.1 s
LOS SANTOSNEWS · in city
18 in city queue 4
Vincent VinettiDirector
Alex SterlingReporter
Ross TimeAnchor
Kazzak’s face CrowPanel P4 · 7″ touch · mic · 2×3W ambient art = the landscape aspect — its helper is already live in HA
What transfers from dashboard-spa
Moves as-is — the hard work
HomeSource.ts— the interface itself
haAdapter.ts— HA WS + REST, already written
mockAdapter.ts + fixtures — offline dev stays free
contextEngine.ts— 8 modes, scene weights, brightness
SimContext— becomes the override debugger on every screen
Adapts — layout, not logic
scenes.tsx · Stage/Spine/Upcoming — re-laid for 1024×600 landscape
Type scale — read at 60 cm, not across the room
brightnessFor()— counter device dims differently at night
New on the panel
Kazzak presence — orb states wired to voice_assistant events
Touch affordances — pills + callService() (the wall never had targets)
TTS-sync mouth — speak on NS4168, animate on glass
Hero theming — subscribe hero_ai_image_landscape (already populated by Apply); one scrim keeps the UI legible over any style
Pixels path — render-bridge or LVGL, the one open decision ↓
The one open decision — how pixels reach a microcontroller
Render bridge try first
The P4 runs no browser. A headless renderer (home server) paints a /crowpanel route of the same SPA → frames stream to the panel via ESPHome; touches come back as coordinates (the fintros remote_webview pattern).
~100 % SPA reuse — one codebase, three viewports
Wall + panel ship from the same deploy
New render service to run
Low fps — fine for cards, not for orb motion
Native LVGL (ESPHome)
UI drawn on-device in ESPHome’s LVGL: instant touch, buttery animation, zero extra services — but a second UI codebase, and the React work doesn’t carry over.
60 fps orb + voice states, fully local
No server in the loop
Zero React/component reuse
Two UIs to keep in sync
Likely landing spot — hybrid: LVGL owns the orb + voice states (they’re ESPHome-local events anyway, and they need the frame rate); the render bridge owns the info cards (where the SPA reuse pays). Decide after the P4 voice pipeline is proven on the bench.
✓ P4 PDM mic — fixed in ESPHome 2026.4? micro_wake_word on P4 — unverified → use openWakeWord add-on✗ mipi_csi camera — not shipped yet (panel’s own cam parked)? full pipeline under display load — unproven combo
A working prototype of the home dashboard’s “one data layer, many screens” architecture — Home Assistant as the brain, a hand-built SPA as the face, and a small voice satellite for ears and a mouth. Hero artwork comes from the project’s own AI image pipeline. — redding.digital