# Sprint 4: UI/UX & Frontend Decisions ## Overview Sprint 4 focused on transitioning the application from a basic prototype to a modern, user-friendly web interface while adhering to the local-first philosophy. ## Technical Choices * **Vanilla Stack**: We chose **HTML/Vanilla CSS/Vanilla JavaScript** instead of a heavy framework like React or Vue. * *Reasoning*: Reduces dependency overhead, keeps the local server incredibly lightweight, and simplifies deployment on the VM without needing Node.js build steps. * **Design System**: * Implemented a CSS variables (`:root`) design system for easy theming (Glassmorphism, dark/light modes). * Added micro-interactions (hover states, smooth fading transitions) to improve perceived performance and user delight without relying on heavy external animation libraries. * **State Management**: * Used simple DOM manipulation and `localStorage` for managing the auth token and UI transitions between the "Login Screen" and the "Chat Interface." ## Key Deliverables * `static/style.css`: Contains all custom animations and glassmorphism styling. * `static/script.js`: Handles all frontend API interactions (login, chat streaming, searching). * `static/index.html`: The single-page application skeleton.