Next.js (App Router, TypeScript, Tailwind v4) + Supabase — unified workspace for Australian buyer's agents.
- Create a project at supabase.com and grab the API URL + anon key from Project Settings → API.
- Copy
.env.local.exampleto.env.localand fill in:DATABASE_URL=postgresql://... OPENAI_API_KEY=sk-... # required for audio/text intake at /briefs/intake - Install and run:
npm install npm run dev
Open http://localhost:3000.
src/lib/supabase/client.ts— browser client (createBrowserClient)src/lib/supabase/server.ts— server client for Server Components / Actionssrc/lib/supabase/middleware.ts— refreshes the session cookie on every requestsrc/middleware.ts— wires the middleware up and gates/protected/*src/app/login,src/app/signup— email/password auth pages + server actionssrc/app/protected— example signed-in-only page
/signup→supabase.auth.signUp→ email confirmation (if enabled in Supabase dashboard) →/login/login→supabase.auth.signInWithPassword→/protected/protected→ redirects to/loginif not signed in- Sign out →
supabase.auth.signOut→/login
To allow login without email confirmation during dev, disable Confirm email under Supabase Authentication → Providers → Email.