main
md 3.43 KB

Frontend UI/UX Requirements

All frontend work must preserve a production-grade investment intelligence experience. The product must feel like premium financial SaaS, not a generic admin dashboard or raw CRUD interface.

Design Goals

  • Clean, modern, responsive desktop/tablet/mobile layouts.
  • Strong information hierarchy for portfolio and research workflows.
  • Accessible typography, keyboard navigation, semantic HTML, visible focus states, and adequate contrast.
  • Consistent spacing, terminology, component behavior, and data presentation.
  • Professional financial tables, charts, risk indicators, and BUY / HOLD / SELL status presentation.
  • Minimal animation, restrained color, and no visually noisy dashboard composition.
  • Financial readability takes priority over decorative visuals.

Design System

Frontend implementation must use reusable components for:

  • typography scale
  • spacing scale
  • cards
  • buttons
  • inputs
  • badges
  • tabs
  • tables
  • drawers
  • dialogs
  • tooltips
  • skeleton loading
  • empty states
  • error states
  • status indicators
  • responsive navigation
  • chart containers

Tailwind CSS and shadcn/ui may be introduced only when compatible with the current Next.js setup and when the added dependency weight is justified. Large UI libraries should not be introduced by default.

Application Shell

The application must use a professional shell with:

  • collapsible sidebar navigation
  • top command/search area
  • notification area
  • user/account menu
  • responsive mobile navigation

Primary navigation should include Dashboard, Portfolio, Research, Screener, Watchlist, Insights, Brokers, and Settings as the product matures.

Phase 1 Frontend Scope

Phase 1 frontend must provide professional UI for:

  • application shell
  • sidebar navigation
  • dashboard
  • portfolio list/client selection
  • portfolio detail
  • holdings table
  • portfolio summary cards
  • allocation visualization
  • mock broker information
  • demo-data indicator
  • loading, error, and empty states

Use the actual Phase 1 Portfolio API wherever endpoints exist. Do not hard-code portfolio results when backend endpoints are available. Mock data must be clearly labelled as demo data and never presented as live market data.

Data Presentation

Important financial areas should be designed to display:

  • last updated time
  • source
  • REAL-TIME, DELAYED, END-OF-DAY, or RESEARCH UPDATE freshness labels when real data exists

Phase 1 must clearly display Demo data.

Future Pages

The stock detail architecture must be able to support:

  • company header
  • current price, daily movement, market cap
  • AI Opportunity Score
  • BUY / ADD / HOLD / TRIM / SELL
  • tabs for Overview, Financials, Valuation, Growth, Orders & Backlog, News, Analysts, Institutions, Insiders, and Risks
  • valuation, growth, quality, catalyst, analyst, institutional, and risk scores

Do not implement fake analysis before the relevant backend logic exists.

Error And Loading Experience

Never show blank pages while loading. Use skeleton cards, skeleton tables, and loading indicators.

API errors must show professional user-safe messages. Do not expose stack traces, SQL errors, internal service names, secrets, or broker credentials. Show correlation IDs when available.

Security Constraints

Never request, display, or store broker passwords, Azure credentials, API keys, access tokens, or other secrets in the frontend. Broker integration screens must remain placeholder/demo-only until real provider flows are designed.