A zero-friction estimation game for testing calibration.
Live at calibrated.live
- Create a question - Ask something with a numeric answer (e.g., "How many bones in the human body?")
- Set the answer - Enter the true value
- Set the range - Define min and max bounds for guesses
- Share the link - Send it to friends
- Collect guesses - Others click on the number line to guess
- Reveal the answer - See how everyone did (optionally protect reveal with a PIN)
Uses the /calibrate slash command.
- Next.js 16 (App Router)
- Supabase (Postgres)
- Tailwind CSS + shadcn/ui
- Vercel
pnpm install
cp .env.example .env.local # Add your Supabase credentials
pnpm dev-
Install Supabase CLI
-
Start local Supabase:
supabase start
This spins up a local Postgres database, Auth, and API. Note the
anon keyandAPI URLfrom the output. -
Configure environment:
cp .env.local.supabase-local .env.local
Or manually set:
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321 NEXT_PUBLIC_SUPABASE_ANON_KEY=<anon key from supabase start> -
Run migrations:
supabase db reset
-
Start the dev server:
pnpm dev
pnpm dev # Start dev server
pnpm build # Build for production
supabase start # Start local Supabase
supabase stop # Stop local Supabase
supabase db reset # Reset DB and run all migrations
supabase migration new <name> # Create new migrationSee CLAUDE.md for detailed project context and patterns.