33cab10cef
Syncs project memory, custom agents, and commands across machines. Excludes secrets (settings.json), session state, and runtime files. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
30 lines
1.4 KiB
Markdown
30 lines
1.4 KiB
Markdown
---
|
|
name: project-architecture
|
|
description: "Mirror OS - Flutter app for hacked Lululemon Mirror on Pi 4 with phone remote, voice, and motion"
|
|
metadata:
|
|
node_type: memory
|
|
type: project
|
|
originSessionId: 826ce615-b163-439f-aaa9-7b3be198b03a
|
|
---
|
|
|
|
Mirror OS is a custom app platform for a hacked Lululemon Mirror running on Raspberry Pi 4.
|
|
|
|
**Key decisions:**
|
|
- Flutter (not web kiosk, not Qt) — single codebase for mirror display + phone remote
|
|
- Pi 4 (4GB) as compute
|
|
- Vizio board used as HDMI passthrough only (no rotation capability)
|
|
- Pi handles rotation via wlr-randr or DRM/KMS config
|
|
- Display is portrait 1080x1920, not touch-enabled
|
|
|
|
**Why:** Flutter gives one codebase for both the mirror display and the phone companion app. Phone remote is half the project — keeping it unified avoids drift. Performance is adequate for dashboard/media on Pi 4.
|
|
|
|
**Features planned:**
|
|
- Dashboard (clock, weather, calendar, widgets)
|
|
- Workout player (integrates with existing workout-player homelab service)
|
|
- Media player (YouTube, Plex, local video/music via mpv/media_kit)
|
|
- Voice control (OpenWakeWord + Whisper, local processing)
|
|
- Motion-activated wake (PIR or mmWave on GPIO)
|
|
- Phone companion app as primary control interface
|
|
|
|
**How to apply:** All code goes in /Users/csader/mirror-os. Flutter project with shared packages for logic, separate entry points for mirror display vs phone remote.
|