From 26ca71ac63ec87ae83d0b0f7a90d802694159089 Mon Sep 17 00:00:00 2001 From: Saravana Achu Mac Date: Fri, 8 May 2026 21:07:37 -0700 Subject: [PATCH] docs: expand launch-ready UX implementation roadmap --- docs/LAUNCH_READY_UI_UX_ROADMAP.md | 978 +++++++++++++++++++++-------- 1 file changed, 733 insertions(+), 245 deletions(-) diff --git a/docs/LAUNCH_READY_UI_UX_ROADMAP.md b/docs/LAUNCH_READY_UI_UX_ROADMAP.md index 651226e..d7f87be 100644 --- a/docs/LAUNCH_READY_UI_UX_ROADMAP.md +++ b/docs/LAUNCH_READY_UI_UX_ROADMAP.md @@ -4,395 +4,883 @@ 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`. +This roadmap defines the concrete path to make the trading product launch-ready from a UI, UX, accessibility, and platform-reuse perspective. It covers two repositories that must move together: -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 repo: `/Users/saravana/BytelystAI/learning_ai/learning_ai_invt_trdg` +- Shared platform repo: `/Users/saravana/BytelystAI/learning_ai/learning_ai_common_plat` + +The goal is not a styling pass. The goal is a durable product system: + +- The trading app should feel like a polished operational SaaS console. +- Shared UI quality should live in common platform, not in product-only CSS. +- Local development and production builds should resolve ByteLyst packages predictably without depending on Gitea package auth. +- Future ByteLyst products should be able to reuse the same primitives without inheriting trading-specific assumptions. + +## Current Evidence + +This roadmap is based on a review of the current product and common-platform source trees. + +Product frontend facts: + +- Main app entry: `web/src/App.tsx`, `web/src/main.tsx` +- Shell: `web/src/components/layout/AppShell.tsx`, `Header.tsx`, `Sidebar.tsx`, `RightPanel.tsx` +- Product UI adapter: `web/src/components/ui/Primitives.tsx` +- Global style surface: `web/src/index.css`, `web/src/App.css` +- Major views: `HomeView`, `PortfolioView`, `ResearchView`, `SimpleView`/Trade Plans, `MarketsView`, `ScreenerView`, `WatchlistView`, `AlertsView`, `SettingsView` +- Major tabs/components: `PositionsTab`, `EntriesTab`, `BacktestTab`, `AdminTab`, `ConfigTab`, `MarketplaceTab`, strategy builder/editor components, auth/reset components, chat assistant components +- Current package resolution uses local file references and pnpm hooks for ByteLyst packages. +- `pnpm audit:ui` currently reports zero findings for raw controls, legacy classes, hardcoded colors, and direct common UI imports outside the product adapter. + +Common platform facts: + +- Shared UI package exists at `packages/ui` +- Shared tokens exist at `packages/design-tokens` +- Shared auth UI exists at `packages/auth-ui` +- Dashboard shell exists at `packages/dashboard-shell` +- Useful common UI primitives already exist: `AppShell`, `Button`, `IconButton`, `Card`, `Panel`, `Surface`, `Field`, `Input`, `Textarea`, `Select`, `Tabs`, `SegmentedControl`, `Badge`, `StatusBadge`, `Timeline`, `DataTable`, `DataList`, `EmptyState`, `Toast`, `Modal`, `ConfirmDialog`, `DropdownMenu`, `Tooltip`, `Skeleton`/loading helpers +- Common platform still contains many `publishConfig.registry` references to the Gitea npm registry and a release script tied to Gitea naming. This conflicts with the desired local-package-first development model. ## Product Standard -The target experience is a polished operational SaaS console for trading workflows: +The target experience is a calm, modern, professional trading operations console: -- Calm, readable, premium, and practical. -- Dense enough for portfolio/trading operations without feeling cramped. -- Consistent component behavior across all routes. +- Clean, contemporary SaaS UI with strong hierarchy and restrained visual treatment. +- Dense enough for trading workflows, but never cramped or visually noisy. +- Consistent navigation, page headers, tabs, forms, tables, cards, badges, alerts, dialogs, empty states, and loading states. - 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. +- Predictable behavior under loading, empty, error, disabled, pending, success, and destructive-action states. +- Responsive layouts across phone, tablet, desktop, and wide desktop. +- Accessible by keyboard and screen readers, with visible focus and readable contrast. +- No global overlays covering primary content or form controls. -## Current State Summary +## Non-Negotiables -The app is functional, but launch readiness is blocked by inconsistent UI systems: +- Shared primitives come from `learning_ai_common_plat`. +- Product-specific styling goes through the product adapter in `web/src/components/ui/Primitives.tsx`. +- Product routes should not import `@bytelyst/ui` directly except through the adapter layer. +- Product routes should not use raw `