Files
Chris 33cab10cef Initial sync: memory, agents, commands, and gitignore
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>
2026-06-11 09:19:24 -05:00

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.