UX + visual language
Why TaxBox uses a calm violet-on-slate system instead of terminal brutalism — and how that choice maps to operator psychology under tax-season load.
Target audience
CPA firm staff in vaults and workspaces for long sessions: onboarding clients, uploading packets, reviewing labels under tax-season deadlines. Legibility and calm hierarchy matter more than visual drama when the queue is long.
Why this setup
Light canvas, clear hierarchy, and one action violet. Primary controls should read as “do the next safe thing” under deadline load — not as a developer console. Contrast and spacing carry status; color is reserved for commitment, not decoration.
Palette
#f8fafc
#ffffff
#5a3fff
#0f172a
#64748b
Canvas and panel separate page frame from working surfaces. Ink carries body and titles; muted handles secondary labels. Action is reserved for primary CTAs and focus — not decorative accents on every card.
Goals
- Reduce cognitive load during peak filing — status and hierarchy before decoration.
- Make isolation legible in the UI (workspace context, vault scope), not only in the API.
- Keep one product language across host shell and Auth / Billing / Vault remotes via
@taxbox/ui. - Keep visual noise low during peak season — no UI decoration that competes with the packet in hand.
Personas / workflow
Onboards staff, manages tenants, cares about isolation and audit.
Uploads packets, needs fast classification and search under deadline.
Overrides model labels; needs confidence scores and paper trail.
Design choices here are deliberate pivots with psychological and workflow reasoning — not whatever looked cool that day.