Project 02 · TRY IT

Chorus

A presentation and polling tool where the host opens a room, participants join by QR code from their phones and vote, and the results turn into a live chart on the presentation screen instantly.

YEAR
2026
ROLE
Design and development
STACK
Next.js · NestJS · Socket.IO
STATUS
Live
presentation screen
ROOM CODE 428 913
How did the meeting go?
Join with QR
Case study

Problem, approach, evidence.

1

Problem

Showing everyone's voice in a crowded hall instantly on screen, from their phones, without making them create accounts.

2

Approach

A room-based WebSocket architecture; results are aggregated on the server and broadcast in batches at short intervals. A participant who drops the connection continues where they left off with the same identity. Each participant casts one vote per slide.

3

Evidence

Lighthouse 100 on desktop, 98 on mobile; 1.8 s LCP on mobile, 206 KB total transfer.

TRY IT

Scan it with your phone, try it.

The QR code leads to chorus.beraekimci.com.tr.

Slide types

Five question formats.

Multiple choice
Single choice, 2–8 options
Word cloud
Short text; words grow by frequency
Scale
1–5 rating, average and distribution
Open-ended text
Answers stream in live, the host can hide them
Q&A
Participants ask, likes rank
Architecture

Every vote on screen instantly.

01
Phone / screen
Next.js client
02
Gateway
NestJS + Socket.IO rooms
03
Room state
server memory, batched broadcast
04
PostgreSQL
persistent votes, one-vote limit

↑ Even with hundreds of votes, the screen updates only a few times per second.

Measurements

Evidence under load.

LIGHTHOUSE
100 · 98
desktop 100, mobile 98 (Lighthouse 12)
FIRST CONTENT (LCP)
1.8 s
mobile; 0.2 s on desktop
TOTAL TRANSFER
206 KB
17 requests · server response 60 ms
NEXT PROJECT

Let's do the next one together.

Write to me about a project, a collaboration or a technical chat. I reply within 24 hours on average.