# Launch-Ready UI/UX Roadmap Last updated: 2026-05-08 ## Purpose This roadmap defines the path to make the trading web product feel modern, coherent, professional, and launch-ready across the entire app. It covers the product frontend in `learning_ai_invt_trdg` and the shared UI/design-system foundation in `learning_ai_common_plat`. The goal is not another styling pass. The goal is a stable product-quality experience with reusable platform components that can be applied to this product and future ByteLyst products. ## Product Standard The target experience is a polished operational SaaS console for trading workflows: - Calm, readable, premium, and practical. - Dense enough for portfolio/trading operations without feeling cramped. - Consistent component behavior across all routes. - Clear primary actions and obvious next steps. - Strong loading, empty, error, disabled, and success states. - Responsive across desktop, tablet, and phone without broken menus, overflow, or hidden content. - Accessible by keyboard and readable under normal contrast settings. ## Current State Summary The app is functional, but launch readiness is blocked by inconsistent UI systems: - The shared platform primitives exist, but many product screens still use raw page-specific styling. - `web/src/index.css` and `web/src/App.css` carry too much global/product-specific behavior. - Complex screens such as Trade Plans, Portfolio, Backtesting, Settings/Admin, Visual Builder, and Code Editor still contain legacy visual patterns. - Tables, cards, badges, timeline steps, forms, tabs, alerts, and empty states do not yet fully share one design language. - Some routes look modern after recent improvements, while deeper states still look like developer tooling. - Responsive behavior has improved, but the shell still needs a formal contract for desktop/tablet/phone. - Global overlays such as critical alerts and the assistant widget need collision rules. ## Guiding Principles 1. Centralize primitives in common platform. 2. Compose product screens from approved primitives. 3. Prefer quiet utility over decorative UI. 4. Keep cards for bounded tools/items, not every page section. 5. Use semantic colors only for meaning: success, warning, danger, info. 6. Use monospace only for symbols, prices, IDs, and technical values. 7. Avoid raw HTML controls in product screens unless wrapped by a shared primitive. 8. Every user-facing state needs loading, empty, error, disabled, and success treatment. 9. Every route must pass responsive, accessibility, and overflow checks before launch. ## Phase 0: Stop UI Drift Objective: prevent new inconsistent UI while remediation is underway. Scope: - Expand `pnpm audit:ui` to flag: - raw `