Skip to content

Design dreb dashboard UX/UI for TUI feature parity #311

Description

@aebrer

Summary

Before building the dreb web dashboard, do a UX/UI design pass focused on TUI feature parity plus the extra capabilities a browser dashboard enables.

TUI feature parity means: anything a user can do in the dreb TUI should also be possible from the dashboard. The dashboard should also cover browser-specific features such as project/file browsing, upload/download, Tailscale-based auth, and remote/mobile use.

This should block implementation work on the dashboard issue until the feature map, workflows, layout, and security-sensitive flows are clear enough to implement against.

Related implementation issue: #307

Why

The previous implementation attempt started too far into backend/API scaffolding before the UI requirements were pinned down. We need to map the existing TUI capabilities to dashboard workflows first, then design the extra browser-only functionality around that.

This is the foundation for the dashboard, not a disposable prototype. The first implementation should establish the main structure, navigation, state model, and feature coverage that future work can build on.

React, Svelte, another Node/browser framework, or a smaller custom stack are all viable implementation options. Framework choice should be made deliberately after the design clarifies the interaction model, state complexity, accessibility needs, mobile behavior, and maintainability tradeoffs.

Design questions

  • What TUI features exist today, and how is each exposed in the dashboard?
  • What is the flow from opening the dashboard to selecting a project and starting or resuming a session?
  • How are chat, steering, follow-up, abort, model switching, settings, slash commands, task lists, suggest-next, tool events, and subagents represented?
  • How does session history/tree/fork/resume/export map to the browser UI?
  • How do file browsing, upload, and download fit into the main workflow?
  • How should localhost access, Tailscale remote access, and PIN pairing work from the user's perspective?
  • What needs to be visible on desktop vs mobile?
  • Which framework/frontend architecture best supports this feature set?

Deliverables

  • TUI feature parity checklist: every TUI capability mapped to a dashboard equivalent or explicitly marked as out of scope with a reason.
  • UX flow for first launch, local-only use, remote pairing, project selection, session creation/resume, chat, subagent monitoring, file transfer, settings, and session history/tree operations.
  • Responsive layout plan for desktop and mobile.
  • Visual design direction: typography, spacing, colors, density, status treatments, and component language.
  • Interaction design for prompts, steering, follow-up, abort, live tool calls, task lists, suggest-next, and background subagents.
  • Security UX copy for localhost vs Tailscale remote access, PIN pairing, and file/agent-control risks.
  • Foundation scope: what the first implementation must establish, and what can be sequenced later without compromising the base.
  • Frontend architecture recommendation, including whether to use React/Svelte/another framework or a smaller custom stack, with rationale.
  • Acceptance criteria that a future implementation PR can be reviewed against.

Non-goals

  • Do not implement the dashboard in this issue.
  • Do not revive or fork Pi dashboard visuals/protocol assumptions.
  • Do not treat the dashboard as a disposable MVP/prototype; this design should define the base dashboard experience.

Acceptance criteria

  • A concrete dashboard UX/UI spec exists in repo docs or linked issue comments.
  • The spec includes a TUI feature parity checklist.
  • The spec includes desktop and mobile flows.
  • The spec covers security-sensitive flows, especially remote access and PIN pairing.
  • The spec defines the foundation surface area clearly enough that implementation can be scoped and reviewed.
  • The spec recommends a frontend architecture/framework direction with rationale.
  • The implementation issue can be treated as blocked until this design work is accepted.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1Important for workflow completenessenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions