‹ ARCHIVE NB-C005 · .case · 2026·06

Real-Time Session Timer

NB-C005 .case

A system for managing speaking times in the sessions of a municipal deliberative body, with two screens synchronised in real time: a control console for the secretariat and a projection (16:9, 4K) for the room.

   ┌────────────────────┐                       ┌────────────────────┐
   │  Control console   │       Socket.io       │  4K projection     │
   │  (secretariat)     │ ◀───── rooms ──────▶  │  (room · 16:9)     │
   └─────────┬──────────┘    real-time shared   │  speakers +        │
             │               state              │  timers            │
             ▼                                   └────────────────────┘
   Node.js · Socket.io · Prisma/MySQL · JWT

State — who holds the floor, which point of the agenda, justified pauses — is propagated instantly between the console and the projection over Socket.io. Built on Node.js + TypeScript, with Prisma/MySQL and two Next.js frontends; JWT authentication with per-user sessions.

It includes per-speaker timers, visual and audible warnings in the final minutes, session history and export (PDF/CSV). A seemingly simple problem — counting time — that in practice demands reliable synchronisation, shared state and a fail-proof interface in a formal setting.

BRI assistant

Quer saber sobre um projeto, um serviço ou uma notícia recente? Pergunte. Conheço todo o conteúdo deste site.