Skip to content

phazonoverload/agenda-timer

Repository files navigation

Agenda Timer

Agenda Timer

A collaborative meeting timer that keeps everyone on track. Create a room, build an agenda, and time each item -- all participants see the same live countdown.

Try it live

How it works

  1. Create a room with a name and passcode.
  2. Build your agenda by adding items with time allocations.
  3. Share the room link -- anyone with the link can watch the timer.
  4. Run the meeting -- the admin starts, pauses, and advances the timer. All participants see updates in real time via WebSockets.

Only the room creator (admin) can control the timer and edit the agenda. Participants get a read-only live view.

Features

  • Real-time countdown synced across all participants
  • Drag-and-drop agenda reordering
  • Add bonus minutes to the current item on the fly
  • Visual and audio alerts when time runs out
  • No accounts required -- just a room name and passcode
  • Works on desktop and mobile

Self-hosting

Agenda Timer runs on Netlify with a Directus backend.

Prerequisites

  • Node.js 18+
  • A Directus instance with WebSockets enabled
  • A Netlify account (or any platform that supports Netlify Functions)

Directus setup

Follow the Directus setup guide to create the required collections, roles, and permissions.

Run locally

git clone https://github.com/phazonoverload/agenda-timer.git
cd agenda-timer
npm install
cp .env.example .env  # fill in your Directus credentials
ntl dev                # or: npx netlify dev

This starts both the Vite dev server and Netlify Functions locally.

Privacy

No analytics, no cookies, no tracking. Room data is stored in Directus and is persisted indefinitely for now. It will be automatically deleted after 14 days in the future. See the privacy policy for details.

License

MIT

About

Keep meetings on track with a shared agenda timer.

Resources

Stars

Watchers

Forks

Contributors