Tech Stack
Frontend
Next.js 16, App Router
Backend
Convex, PostgreSQL
Auth
Clerk
Styling
Tailwind CSS v4
Overview
House of Legends uses Next.js 16 with App Router for the frontend, Convex for real-time backend/database, Clerk for authentication, and Tailwind CSS v4 for styling. All frontend-backend communication uses theapi.domains.<domain>.<operation> pattern.
Core Stack
| Layer | Technology | Version | Notes |
|---|---|---|---|
| Frontend | Next.js 16 | ^16.x | App Router, Turbopack |
| Styling | Tailwind CSS | v4 | CSS variables, tailwindcss-animate |
| Backend | Convex | ^1.37.x | PostgreSQL, real-time |
| Auth | Clerk | ^5.x | Staff auth, guest OAuth |
| i18n | paraglide-js | ^2.x | en + vi locales |
| Forms | React Hook Form + Zod | latest | Per-component validation |
| State | React localState + BookingContext | — | Booking uses convexQuery bindings |
| Icons | Lucide React | ^0.4.x | Never emoji |
| Animation | tailwindcss-animate | ^1.x | Fades, slides, zoom |
Frontend Structure
Backend Structure
Convex API Pattern
All frontend calls useapi.domains.<domain>.<operation>:
Design System
Seeapps/frontend/DESIGN.md for complete design tokens and component library.
Key tokens:
| Token | Value | Usage |
|---|---|---|
--color-gold | #c5a059 | Primary brand |
--color-background | #0a0a0f | Dark background |
--color-foreground | #ededed | Body text |
--color-surface | #16161a | Card backgrounds |