Files
gemini-nexus/.planning/proxy-improvements/02-ui-ux-improvements.md
T
Gemini Nexus Bot a905877c76 feat: bump version to 0.14.0
Includes all changes from this release cycle:
- Top header navigation (sidebar removed)
- Accounts screen decomposition and visual redesign
- Dev/prod environment isolation
- Usage Analytics with accurate averages, cost reporting, OpenRouter pricing
- Monitor moved to Usage with per-request token/cost tracking
- Clickable traffic logs with expandable JSON body viewer
- OpenCode IDE config in Quick Setup
- API Proxy reorganization (flattened tabs)
- CI/CD pipeline fixes (release config, Node version, pnpm alignment)
- Repository cleanup (~80MB of binaries removed)
2026-05-02 00:32:21 -03:00

3.6 KiB

Proxy Page — UI/UX Improvements

Generated from designer agent analysis of src/routes/proxy.tsx Date: 2026-04-22

Current Pain Points

  1. Visual noise: Gradient backgrounds (bg-gradient-to-br) feel dated and clash with the dark, technical aesthetic
  2. Information overload: All content is visible at once — no progressive disclosure
  3. Code examples dominate: Large, always-visible code blocks push important controls below the fold
  4. Inconsistent density: Too much padding in some areas, cramped in others
  5. Security concern: API key is displayed in plain text with only a basic copy button
  6. No status context: User can't see which account/model is being used for requests

Proposed Improvements

1. Remove Gradient Backgrounds

  • Replace bg-gradient-to-br from-slate-800 to-slate-900 with solid bg-card or subtle borders
  • Use elevation (borders, subtle shadows) instead of gradients to create hierarchy
  • Align with the rest of the app which uses flat, technical styling

2. Tabs-Based Layout

Organize the page into tabs:

  • Status (default): Service state, quick actions, health metrics
  • Routing: Model mapping, account scheduling, protocol settings
  • API Docs: Code examples, endpoint documentation, IDE configs
  • Logs: Live traffic feed, error history

3. Compact Protocol Selector

  • Current: large buttons with icons
  • Proposed: Select dropdown or compact segmented control
  • Save horizontal space for more important controls

4. Collapsible Code Examples

  • Wrap each code block in a Collapsible or Accordion
  • Show only the title + language icon by default
  • Expand on click
  • Add nested tabs for different languages (cURL, Python, JavaScript, TypeScript)

5. Security-Focused API Key Display

  • Mask the API key by default (show sk-••••••••)
  • Reveal on explicit "Show" toggle
  • Add "Regenerate" button with confirmation dialog
  • Show "Last used" timestamp
  • Add warning if key is the default/weak key

6. Configurable Model Mapping Table

  • Instead of a static list, show an editable table:
    • Requested model | Resolved model | Provider | Status
  • Allow users to add custom mappings
  • Show which mappings are active/inactive
  • Validate that resolved models exist in the account pool

7. Account Quota Context

  • Show the currently selected "primary" account with its quota bar
  • If auto-switching is enabled, show "Pool Mode: Active (N accounts)"
  • Link to the account pool page for detailed management

8. Toast Copy Feedback

  • When user clicks "Copy", show a Toast or Sonner notification
  • Current: no feedback — user doesn't know if copy succeeded
  • Message: "Copied to clipboard" or "Failed to copy"

9. Health Metrics Stub

  • Even if backend metrics aren't wired yet, create the UI skeleton
  • Show placeholder charts with "Coming soon" badge
  • This sets expectations and makes the page feel more complete

10. Empty States

  • When proxy is stopped, show a clear empty state:
    • Icon: ServerOff from lucide
    • Message: "Proxy is not running"
    • Action: "Start Proxy" button prominently displayed
  • When no accounts are configured, show a CTA to add accounts

Design Principles

  • Density over whitespace: This is a developer tool — show more information per pixel
  • Progressive disclosure: Hide advanced options behind tabs/accordions
  • Immediate feedback: Every action should have a visible result (toast, spinner, state change)
  • Security first: API keys and sensitive data should never be displayed casually