FinanceLab
Stack

Frontend stack

The libraries and tooling behind the FinanceLab web app.

The web app is one Next.js 16 (App Router) + React 19 application under frontend/src/. It serves the marketing landing, the public /indexes pages, the dashboard, and the docs from a single project.

Core

  • Next.js 16 (App Router) with three route groups: (marketing), dashboard, docs.
  • React 19.
  • TypeScript.

UI and styling

  • shadcn/ui (the base-nova style, built on Base UI primitives). Components are added via the shadcn CLI, never hand-written. Design rule: use stock shadcn components and official blocks, never hand-invent UI.
  • Tailwind CSS v4. Design tokens live in the @theme + :root / .dark blocks in globals.css.
  • launch-ui (MIT) template for the landing chrome (section, glow, mockup, navbar, item), adopted verbatim into components/ui/.
  • lucide-react for icons (never HTML-entity glyphs).
  • next-themes for app-wide light / dark theming (attribute="class", default light).

Data and content

  • TanStack Query for dashboard data fetching against the backend routers.
  • Recharts for the public /indexes charts.
  • Fumadocs for the docs (MDX under content/docs/**).

Conventions

  • Copy is plain ASCII: no em / en dashes, curly quotes, or ellipsis characters.
  • --brand (#3a86ff) is an accent only (links / active / rings / chart line); container width is max-w-container (1280px).

On this page