# MindMachine - Task List ## 1. Product Definition - [ ] Review and approve `REQUIREMENTS.md` - [ ] Confirm target platform for version 1 - [ ] Confirm MVP scope - [ ] Decide final built-in presets for v1 - [ ] Confirm safety language and disclaimer wording - [ ] Decide whether version 1 is Android-only ## 2. UX / Product Design - [ ] Create user flow diagram - [ ] Define onboarding flow - [ ] Define safety warning flow - [ ] Define preset selection screen - [ ] Define session setup screen - [ ] Define active session screen - [ ] Define completion screen - [ ] Define simple settings screen - [ ] Define cardboard-holder guidance content ## 3. Technical Planning - [ ] Choose app architecture - [ ] Define project module/package structure - [ ] Select audio generation approach - [ ] Select visual rendering approach - [ ] Define timing/synchronization strategy - [ ] Define persistence model for presets/settings - [ ] Define interruption handling strategy ## 4. Project Setup - [ ] Create project repository - [ ] Initialize native mobile project - [ ] Configure formatting/linting - [ ] Configure unit test framework - [ ] Configure UI/integration test foundation - [ ] Create initial README ## 5. Core Domain Models - [ ] Implement `SessionPreset` - [ ] Implement `SessionConfig` - [ ] Implement `SessionState` - [ ] Implement `AudioConfig` - [ ] Implement `VisualConfig` - [ ] Implement safety acknowledgment state ## 6. Session Engine - [ ] Implement session timer/orchestrator - [ ] Implement start session flow - [ ] Implement pause/resume logic - [ ] Implement stop logic - [ ] Implement completion behavior - [ ] Add tests for timing and session transitions ## 7. Audio Engine - [ ] Implement stereo tone generation - [ ] Implement binaural beat configuration - [ ] Implement audio lifecycle management - [ ] Handle headphone/output changes - [ ] Handle audio interruptions safely - [ ] Add tests for config and lifecycle behavior ## 8. Visual Engine - [ ] Implement full-screen rendering surface - [ ] Implement flash pattern - [ ] Implement pulse/fade pattern - [ ] Implement alternating pattern option - [ ] Connect pattern timing to session state - [ ] Add tests for visual timing logic where practical ## 9. Safety Features - [ ] Implement first-run safety acknowledgment - [ ] Block session start until warnings are acknowledged - [ ] Add seizure / photo-sensitivity warning text - [ ] Add headphone requirement warning - [ ] Add runtime stop/pause behavior for unsafe output changes - [ ] Add tests for safety guardrails ## 10. UI Implementation - [ ] Implement onboarding screen - [ ] Implement home/preset list screen - [ ] Implement session setup screen - [ ] Implement active session screen - [ ] Implement completion screen - [ ] Implement settings screen - [ ] Ensure controls are large and clear ## 11. Presets and Settings - [ ] Add Relax preset - [ ] Add Focus preset - [ ] Add Sleep Prep preset - [ ] Add custom session editor (if in v1) - [ ] Persist recent settings - [ ] Validate user-entered parameter ranges ## 12. Holder Guidance / Documentation - [ ] Write concise holder-building instructions - [ ] Add fit and comfort guidance - [ ] Add safe positioning guidance - [ ] Add end-user usage instructions - [ ] Review for clarity and brevity ## 13. Testing - [ ] Unit test session state transitions - [ ] Unit test preset validation - [ ] Unit test safety rules - [ ] Integration test session start/stop - [ ] Integration test interruption handling - [ ] UI test onboarding and preset selection - [ ] UI test active session controls - [ ] Manual test with real stereo headphones ## 14. Pre-Release Review - [ ] Review wording for medical/safety compliance - [ ] Review usability in low-light conditions - [ ] Review comfort assumptions around phone holder - [ ] Review battery/heat impact during longer sessions - [ ] Review failure modes and recovery behavior ## 15. Nice-to-Have After MVP - [ ] Ambient sound mixing - [ ] Printable holder template - [ ] More advanced visual patterns - [ ] Guided voice sessions - [ ] Session history - [ ] Expanded preset library