# Phase 1 Plan: Minimum Viable Product (MVP) ## Objective Deliver a functional MVP of the Visual Assistant, featuring a web-based chat interface, persona selection, static PNG expressions for emotions, and a basic memory system. --- ## Week 1: Project Setup & Foundations - Initialise repository and set up version control - Establish core directory structure (see Project Overview) - Configure Python environment using Poetry - Set up basic FastAPI/Flask backend - Create placeholder frontend (HTML/CSS/JS) - Add initial documentation (README, CONTRIBUTING) - Write initial unit tests for setup scripts **Deliverable:** - Running backend and static frontend skeleton --- ## Week 2: Chat Interface & Persona Selection - Develop chat interface (basic message input/output) - Implement backend chat endpoint - Design persona selection UI component - Create persona configuration files and sample personas - Connect persona selection to backend logic - Add tests for chat and persona modules **Deliverable:** - Functional chat interface with persona selection --- ## Week 3: Expressions & Emotion Logic - Integrate static PNG images for expressions - Implement basic emotion detection (rule-based) - Link chat content to expression changes - Store and retrieve user state (memory system) - Refine persona and expression assets - Expand test coverage (emotion logic, memory) **Deliverable:** - Chatbot reflects emotions with PNG expressions --- ## Week 4: Polish, Documentation & Testing - Improve UI/UX (styling, accessibility) - Review and update documentation - Add integration and end-to-end tests - Conduct code review and refactoring - Prepare MVP demo and deployment scripts - Finalise initial changelog and update TODO.md **Deliverable:** - MVP feature-complete, documented, and tested --- ## Review & Checkpoints - Weekly reviews to assess progress and adjust plan - All code changes documented in CHANGELOG.md - Tasks tracked and updated in TODO.md *Document last updated: 17 April 2025*