Frontend Overview

The frontend lives in apps/frontend/ and runs as a React SPA. It uses TanStack Router for navigation, Tailwind CSS for styling, and HyperFetch for API communication.

Folder structure

apps/frontend/src/
  api/           # HyperFetch client, SDK, and socket setup
  assets/        # Styles, images, fonts
  components/    # Shared UI components (layouts, navigation, ui/)
  config.ts      # App name, constants
  features/      # Domain-organized feature code
  hooks/         # Global hooks
  lib/           # Shared frontend libraries
  routes/        # TanStack Router file-based routes

Key patterns

shadcn/ui components

Pre-built, accessible UI primitives live in src/components/ui/. Button, Input, Card, Dialog, and dozens more. Use them before building custom components.

Compose variants with class-variance-authority (cva) and merge conditional class names with cn() from @/lib/utils.