ProjectR Docs
Dashboard

Dashboard

Developer reference for the Next.js admin dashboard.

apps/dashboard is the admin panel, built on Next.js 16 (App Router), React 19.3.0, Tailwind v4, shadcn/ui (new-york), Convex 1.47.0 reactive queries, Better Auth sessions in localStorage. Deployed on Vercel (project project-r-dashboard, region sin1, root directory apps/dashboard).

Read in order

  • Structure — routes, feature modules, shared UI.
  • Data Layer — the Convex hook wrappers and reactivity rules.
  • Auth & Access — sessions, role resolution, the permission matrix.
  • Patterns — state layering, tables, forms, performance rules.
  • Tech Debt — what's known-broken or pending.

The three rules people break first

  1. All data access goes through src/hooks/convex/ — never raw useQuery in a feature.
  2. Navigate user pages with userId (the Better Auth ID), never the Convex _id.
  3. Search inputs feeding Convex must use useDebounce (~300 ms) — useDeferredValue does not prevent subscription churn; every arg change opens a new subscription.

On this page