You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Transform Trevo from a functional API testing tool into an immersive, developer-focused experience. This epic spans the full monorepo — the web app (apps/web, Next.js 15), the desktop app (apps/desktop, Vite + Tauri), and the landing page (apps/landing, Vite). The shared UI package (packages/ui) serves as the central theme system for web and desktop, while the landing page uses independent Tailwind styling.
This epic leverages the existing Mantine v7 + Tailwind + Framer Motion stack, adding animations, theming, terminal mode, and keyboard navigation to create a polished, memorable interface inspired by Insomnia.
Architecture Decisions
Monorepo Scope
App/Package
Stack
Theme Integration
Scope
apps/web
Next.js 15 + Mantine v7
Uses @trevo/ui theme
Full UX/UI revamp
apps/desktop
Vite + Tauri + Mantine v7
Uses @trevo/ui theme
Full UX/UI revamp (shared with web)
apps/landing
Vite + Tailwind (no Mantine)
Independent Tailwind themes
Visual polish, animations, consistent branding
packages/ui
Mantine v7 + Framer Motion
IS the theme system
Central theme provider, shared components
packages/core
Pure TypeScript
N/A
No UI changes
packages/i18n
i18next
N/A
New UI strings (en/pt)
packages/api-client
Axios + Tauri API
N/A
No UI changes
Technology Choices
Decision
Choice
Rationale
Animation
Framer Motion (existing)
Already in web, desktop, and @trevo/ui
UI Components
Mantine v7 (existing)
Shared via packages/ui, used by web + desktop
Keyboard Shortcuts
react-hotkeys-hook
Lightweight, React-native, declarative
Terminal Syntax
Prism.js or Shiki
Fast, themeable syntax highlighting
Theme Storage
localStorage + CSS Variables
No backend needed, instant switching
Custom Cursor
CSS + React state
Pure CSS for performance, state for context
Landing Theming
Tailwind CSS Variables
Independent from Mantine, consistent branding
Design Patterns
Theme Provider Pattern: Centralized theme context with CSS variables
Compound Components: Keyboard shortcuts as composable hooks
Lazy Loading: Terminal mode loaded on-demand to reduce initial bundle
Motion Variants: Shared Framer Motion variants for consistent animations
Key Simplifications
No custom theme builder initially - Ship with 4-5 pre-built themes (Dark Pro, Nord, Dracula, Monokai)
Terminal mode as overlay - Reuse existing request/response logic, just different UI
Keyboard shortcuts via hook - Single useKeyboardShortcuts hook, not per-component
Custom cursor via CSS - No complex tracking, just cursor property changes
Epic: UX/UI Revamp
Overview
Transform Trevo from a functional API testing tool into an immersive, developer-focused experience. This epic spans the full monorepo — the web app (
apps/web, Next.js 15), the desktop app (apps/desktop, Vite + Tauri), and the landing page (apps/landing, Vite). The shared UI package (packages/ui) serves as the central theme system for web and desktop, while the landing page uses independent Tailwind styling.This epic leverages the existing Mantine v7 + Tailwind + Framer Motion stack, adding animations, theming, terminal mode, and keyboard navigation to create a polished, memorable interface inspired by Insomnia.
Architecture Decisions
Monorepo Scope
apps/web@trevo/uithemeapps/desktop@trevo/uithemeapps/landingpackages/uipackages/corepackages/i18npackages/api-clientTechnology Choices
@trevo/uipackages/ui, used by web + desktopDesign Patterns
Key Simplifications
useKeyboardShortcutshook, not per-componentTechnical Approach
Frontend Components
Shared (
packages/ui) — consumed by web + desktop:ThemeProvider- CSS variable injection + theme contextKeyboardShortcutProvider- Global keyboard handlerAnimatedPanel- Wrapper for consistent panel animationsCustomCursor- Cursor style managerWeb + Desktop (
apps/web,apps/desktop):TerminalMode- Full-screen terminal interface overlayHowToUse- Interactive onboarding page/modalmotionwrappersLanding (
apps/landing):State Management
localStorage+ React Context?terminal=true) for shareabilitylocalStoragefor how-to-use triggerAnimation Architecture
Infrastructure
prefers-reduced-motion, lazy-load terminalpackages/i18n/src/locales/*.jsonwith new UI strings (en/pt)packages/uiautomatically propagate to web + desktopImplementation Strategy
Development Phases
Phase 1: Foundation
Phase 2: Core Features
Phase 3: Polish & Onboarding
Risk Mitigation
will-change, test on low-end devicesTesting Approach
Task Breakdown Preview
High-level tasks (will be decomposed into issues):
Dependencies
External Libraries (to add)
react-hotkeys-hook- Keyboard shortcuts (~2KB)prism-react-rendererorshiki- Terminal syntax highlighting (~10KB)Existing Stack (leverage)
Content Needed
Success Criteria (Technical)
Performance Benchmarks
Quality Gates
prefers-reduced-motiondisables all animationsAcceptance Criteria
Estimated Effort
Task Complexity
Critical Path
Resource Requirements
Tasks Created
Total tasks: 8
Parallel tasks: 5
Sequential tasks: 3
Next Steps: Run
/pm:epic-start ux-ui-revampto begin parallel execution.