Skip to content

1. Create a Supabase Project

Time: ~3 minutes

Supabase is a free hosted database that handles real-time syncing between your presenter screen and students' phones. You need one Supabase project for this tool.


Create the project

  1. Go to supabase.com and sign in (or create a free account)
  2. Click New Project
  3. Fill in:
    • Name: anything you like (e.g., classroom-polls)
    • Database password: save this somewhere, but you won't need it for this tool
    • Region: pick the one closest to you
  4. Click Create new project and wait ~2 minutes for it to provision

Run the database schema

The file schema.sql in the project root creates the three tables this tool needs (sessions, questions, votes) and sets up security and real-time syncing.

  1. In your Supabase dashboard, click SQL Editor in the left sidebar
  2. Click New query
  3. Open schema.sql from the project, copy the entire contents, and paste it in
  4. Click Run (or ++ctrl+enter++)

You should see "Success. No rows returned" — that means it worked.

What the schema creates

Table Purpose
sessions A polling session (one per class period), with a unique 6-character join code
questions The questions within a session — multiple choice, word cloud, or open-ended
votes Each student's response (one vote per student per question)

It also enables Row Level Security (so the anon key is safe to use in client-side code) and Realtime (so votes appear instantly).

Copy your API credentials

You'll need two values in the next step.

  1. Go to Project Settings (gear icon, bottom of left sidebar)
  2. Click API
  3. Copy these two values:

    Value Where to find it Looks like
    Project URL Under "Project URL" https://abcdefg.supabase.co
    anon public key Under "Project API keys" A long string starting with eyJ...

Use the anon key, not the service_role key

The anon key is safe for client-side code. The service_role key has full admin access and should never be exposed.


Next: 2. Configure Credentials