Skip to content

About

Started as a live vibecoded demo, finished as the tool that ran the session's polls and Q&A. Scan a QR code to join - no app, no sign-up.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

41 Commits

Folders and files

Repository files navigation

Chatterjar: every voice in the room, in one jar. Live polls, a question wall and quizzes for talks, classes and conferences.

MIT License Next.js 16 Upstash Redis Deployed on Vercel CI

Chatterjar

Live polls, a question wall and a quiz for talks, classes and conferences. People join from a QR code on their phones. No app, no sign-up, no names.

Features

  • Choice and word cloud polls. Results stay hidden until you reveal them.
  • An anonymous question wall with upvotes, a review queue and a limit of 3 questions per minute.
  • A persona quiz each room can edit or turn off, with a live room tally, and live reactions.
  • A projector view (/screen) with a join QR code and a dark theme.
  • One admin page to run polls, load content packs and export CSV or JSON.
  • Invite-only rooms, each with its own admin link.
  • Audience data expires after 30 days by default.
Phone: vote on a poll, with the reaction bar
Vote
Phone: question wall
Ask
Phone: persona quiz
Quiz

Projector view with revealed poll results, top questions, quiz tally, reactions and the join QR code

Deploy

Deploy with Vercel

The button adds a free Upstash Redis store and asks for ADMIN_KEY. Then open /admin#key=<ADMIN_KEY>. The free tiers fit about 9 one-hour sessions of 90 people a month.

Run locally

You need Node.js 24 and a Redis REST URL and token.

git clone https://github.com/Gayanukaa/chatterjar.git
cd chatterjar
npm ci
cp .env.example .env.local   # add Redis and ADMIN_KEY
npm run dev

Or self-host the app, Redis and a REST proxy with Docker:

ADMIN_KEY=$(openssl rand -hex 24) docker compose up --build

Open http://localhost:3000 on phones and /screen on the projector.

Settings

  • ADMIN_KEY (required): unlocks /admin.
  • SUPER_ADMIN_KEY (optional): turns on rooms at /admin/rooms.
  • DATA_TTL_DAYS (optional): days to keep audience data (default 30, 0 keeps it).

To add polls, drop a JSON file in data/packs/.

Chatterjar architecture: phones and projector, Next.js pages, API routes, Upstash Redis
Next.js on Vercel, with Upstash Redis as the only database.

More

Read CONTRIBUTING.md, SECURITY.md and the code of conduct.

Licence

The code is MIT licensed (see LICENSE). The Spot the AI pack links media from its sources, which keep their own licences. SOURCES.md gives the credits and licences.

About

Started as a live vibecoded demo, finished as the tool that ran the session's polls and Q&A. Scan a QR code to join - no app, no sign-up.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Contributors

Languages