Micpass: live Q&A and polls for talks and all-hands meetings

Micpass: live Q&A and polls for talks and all-hands meetings

00 Markdown

Join codes, audience questions ranked by upvotes, live polls and word clouds, and a presenter screen for the projector.

Run it yourself

Get the finished app on your own machine, ready to change however you like.

VS Code Command Palette⇧⌘P
micpass -scaffold=elementscode/demo-micpass

Press 'Enter' to confirm your input or 'Escape' to cancel

Press ⇧⌘P in VS Code and choose Elements: New App. Then paste this line and press Enter.

New to Elements? Install Elements first.

The code

How it's built

Micpass needed questions, votes and poll results that move on every phone and the projector at once, moderation for the host, and an audience that joins with a code and no account. Each of those is a part of Elements, so the agent spent its 20 minutes on the Q&A app itself.

What Elements gave the app

  • Live questions, votes and polls. Events, questions, votes, polls and answers are LiveTables, so a vote reorders the questions and a poll answer grows its bar on every phone and the projector the moment it is cast.
  • Votes straight from the page. The audience upvotes and answers polls by writing to the live tables, and the server checks each write: one vote per question, one answer per poll, only on a live question or an open poll.
  • Moderation. Only the event's host approves, hides, pins or marks a question answered, and a moderated event holds new questions until the host approves them.
  • Server calls as function calls. Creating an event mints a short join code, joining turns a typed code into the event page, and asking a question is one more @rpc call.
  • An audience with no account. Each browser keeps its own voter id, which the server uses to count one vote per person.
  • Data from SQL files. Migrations define the app and seed a host and one event with 13 questions, 167 votes, two finished polls and a draft poll ready to open.

What the project server gave the agent

The project server runs alongside the agent and answers as soon as a file is saved: it type-checks the templates, TypeScript and SQL, applies migrations and reruns the tests, so every question came back right away and the agent kept building.

What shipped

The app type-checks with zero errors and all 49 tests pass. Every page works on desktop and phone.

Comments· 0

Join the community

Get a weekly digest of new posts.

Sign up