# UI/UX Roadmap 2026 — Pragmatic Decisions These default decisions are recorded so implementation work can proceed without blocking. They are **reversible** — any of them can be revisited via an RFC in `docs/rfc/`. They are intentionally biased toward "ship something free and reversible now, upgrade if needed." Companion to: - `learning_ai_uxui_web/docs/ROADMAP_2026.md` §10 TODO ledger (items #9–#13) --- ## #9 — Storybook hosting: **self-hosted, free** **Decision.** Use Storybook 8 in each `@bytelyst/*` package, deployed to Gitea Pages from CI. Skip Chromatic for now. **Why.** - Chromatic is $149/mo per project for the small plan and we have ~50 packages — not justifiable until adoption + design-team usage is proven. - Visual regression is already covered for product surfaces by the showcase's Playwright `toHaveScreenshot` baselines (48 today). - Self-hosted SB on Gitea Pages costs $0 and uses infrastructure that already runs every other ByteLyst static site. **Reopen if.** Designers start filing issues against story flaps that visual-regression isn't catching, or we need cross-browser/device coverage that local Playwright Chromium misses. --- ## #10 — `useChat` protocol: **adopt Vercel AI SDK shape, abstract transport** **Decision.** `@bytelyst/ai-ui` exposes a `useChat` hook with the same return shape as Vercel AI SDK's `useChat` (messages, input, handleSubmit, stop, regenerate, isLoading, error). The **transport** is pluggable — products inject a `fetcher` or `streamProtocol` so we are not locked to Vercel's SSE wire format. **Why.** - Vercel AI SDK is the de-facto standard. Adopting the shape means every React engineer who has written a chat UI in 2024–2026 already knows our API. - Abstracting transport gives us LysnrAI / JarvisJr / NoteLett the freedom to use OpenAI-native, Anthropic-native, or our own server's SSE protocol without forking the component. **Reopen if.** Vercel changes the hook shape in a breaking way, or products start needing capabilities (e.g., tool-call streaming semantics) that the Vercel shape can't express. --- ## #11 — `react-auth` vs `auth-client`: **keep both for now, fold in Wave 7** **Decision.** Leave `@bytelyst/react-auth` and `@bytelyst/auth-client` as separate packages through Waves 1–6. Plan to merge `react-auth` into `auth-client` (as `auth-client/react` subpath export) in Wave 7 once both APIs have stabilized. **Why.** - `auth-client` is framework-agnostic; `react-auth` is the React binding. Today they have different version cadences and that's fine. - Merging now means a coordinated major-bump across both packages plus every product app — too much churn during foundational waves. **Reopen if.** Drift between the two packages causes a real bug or a support burden between now and Wave 7. --- ## #12 — `dashboard-shell` vs `dashboard-components`: **keep both, defer merge** **Decision.** Same as #11. Both packages stay independent through Wave 6. Wave 7 re-evaluates whether to merge `dashboard-components` into `dashboard-shell/*` subpath exports or vice versa. **Why.** Same reasoning — the API contract isn't stable enough yet to justify the merge cost. --- ## #13 — Mobile-native UI scope: **tokens-only sharing** **Decision.** This roadmap (`@bytelyst/*` shared **client** packages and the web showcase) does **not** include iOS/Android UI components. Those live in `kotlin-platform-sdk` and `swift-platform-sdk` with their own roadmaps. **The only thing we share across web/iOS/Android is `@bytelyst/design-tokens`** — already generating Kotlin and Swift output from a single JSON source. **Why.** - Cross-platform UI frameworks (React Native, KMP-Compose) impose architectural constraints the web platform doesn't have. - Token-only sharing is the proven model in the industry (Adobe Spectrum, Shopify Polaris, Salesforce Lightning). **Reopen if.** A product needs to ship a web + native experience in parallel and the divergence cost gets large. --- ## Status closing TODOs These decisions close TODO ledger items #9–#13 in `learning_ai_uxui_web/docs/ROADMAP_2026.md`. The roadmap is updated to strike them through with a link to this document. Last reviewed: 2026-05-27