Internal web app to drive AI adoption through monthly missions, a location-based leaderboard, and a Wall of Friction to surface recurring problems.
- Create a Supabase project at supabase.com
- Copy
.env.exampleto.env.localand fill in your Supabase URL and Service Role Key - Run the SQL migration in
supabase/schema.sqlvia the Supabase SQL Editor - Create a Storage bucket called
submissions(private, 10MB limit) - Install dependencies and run:
npm install
npm run dev- Next.js 15 (App Router, Server Components)
- TypeScript + Tailwind CSS v4
- Supabase (Postgres + Storage)
- Zod v4 for validation
- Lucide React for icons
- Monthly AI missions/challenges with submission workflow
- Location-based leaderboard (participation rate per hub)
- Wall of Friction for surfacing pain points
- Role toggle (user/moderator) via cookie
- Moderator panel for managing challenges, reviewing submissions, and approving frictions
- File upload to Supabase Storage