E4.1 → FE-port

builderhub

The system of record for Singapore interior designers. The web shell builds, renders, authenticates, resolves firm context, onboards firms via the operator console, and now serves a Kanban task board and Gantt (the intern's FE, ported onto real, RLS-backed data). Dependencies, cascade, and critical path land next (E6.2–E6.4).

Wired up

  • Next.js 16 (App Router, Turbopack)
  • Tailwind CSS v4
  • shadcn/ui (base-nova)
  • @builderhub/db typed client
  • Supabase Auth — sign-in/out, sessions, route protection (E4.2)
  • Firm context — auth.uid() → Member → firm, RLS-scoped queries (E4.3)
  • Operator onboarding console — /admin, invite-first firm creation (E4.4)
  • Task & milestone CRUD — @builderhub/shared contract + RLS-scoped actions (E6.1)
  • App shell + Kanban task board + Gantt — intern FE ported onto real, RLS-backed data

Coming in later tickets

  • Task dependencies + cycle safety (E6.2)
  • Reschedule cascade (E6.3) & critical path (E6.4)
  • Calendar & designer views (deferred — partly M4)

Tasking preview (placeholder)

Mock rows, typed by @builderhub/db Task. The live board + Gantt live under /app — these rows are just a typing demo.