End-to-end speaker management: profile CRUD, session scheduling, multi-track agenda builder with conflict detection, requirements tracking, speaker status pipeline, communication log, and export to PDF/CSV.
- Download the latest release or clone this repo
- Open
tool.htmlin any modern browser - Start using it — data saves automatically in your browser's localStorage
This tool is available on EventHive — the free platform for event professionals. On EventHive, your data syncs across devices, integrates with your other tools, and includes AI assistance from Erleah.
- Speaker profile management (CRUD)
- Session scheduling with time slot assignment
- Multi-track agenda builder with conflict detection
- Requirements tracking (AV, dietary, travel, accommodation)
- Speaker status pipeline (Shortlisted → Confirmed → Thanked)
- Communication log per speaker
- Export to PDF programme and CSV, feeds Run Sheet
This tool was built using AI-assisted development ("vibe coding"). To customise it for your needs:
- Fork this repo (click the Fork button above)
- Clone your fork locally
- Read the AI Coding Docs — our methodology for building tools like this with AI
- Open in your AI editor (Claude Code, Cursor, Copilot, etc.)
- The
.clinerulesfile gives your AI assistant context about this tool - For Claude Code: run
claudeand the rules load automatically
- The
- Modify, test, deploy — it's just HTML, CSS, and vanilla JS
Tip: The
manifest.jsonfile defines the configuration schema. If you add new configurable options, update it so your tool works with the EventHive platform's config editor.
| Mode | Where | Persistence |
|---|---|---|
| Browser | localStorage (eventhive_event_{eventSlug}_speakers) |
Until browser data cleared |
| EventHive | Cloud database (PostgreSQL) | Synced across devices |
This tool stores all data locally in eventhive_event_{eventSlug}_speakers. Data persists until browser storage is cleared.
- Run Sheet / Show Flow — session schedule exports to Run Sheet
- Communications Timeline — speaker reveal dates feed Comms Timeline
- Briefing Generator — speaker profiles used in speaker briefs
PRs welcome! Please read the Contributing Guide first.
MIT — free to use, modify, and distribute.
Built by Visual Hive as part of the EventHive open-source toolkit.
Run this tool on your own infrastructure using Docker Compose. Your data stays on your servers.
- Docker Desktop (or Docker Engine + Compose V2)
- ~512 MB RAM
# 1. Clone this repo
git clone https://github.com/Visual-Hive/eventhive-tool-speaker-programme.git
cd eventhive-tool-speaker-programme
# 2. Run the setup script — it handles .env creation, optional password, and Docker build
bash self-hosted/setup.sh
# 3. Open the tool in your browser
open http://localhost:3000cd self-hosted
cp .env.example .env
# Edit .env to set SESSION_SECRET, optional PASSWORD_HASH, etc.
docker compose up -d --buildBy default the tool runs in open-access mode (fine for local use). To add password protection:
cd self-hosted
npm install
npm run hash-password yourpassword # copy the $2b$... hash
# Paste into .env: PASSWORD_HASH=<hash>
docker compose restart app| Variable | Default | Description |
|---|---|---|
PORT |
3000 |
HTTP port |
SESSION_SECRET |
(required) | Random string for signing sessions |
PASSWORD_HASH |
(empty = open) | bcrypt hash of your access password |
TOOL_TITLE |
Speaker Programme Manager |
Title shown inside the tool |
PRIMARY_COLOR |
#6366f1 |
Branding colour (hex) |
All data is stored in a PostgreSQL database inside the Docker volume db_data.
Backup:
docker compose -f self-hosted/docker-compose.yml exec db pg_dump -U tool tooldb > backup.sqlRestore:
cat backup.sql | docker compose -f self-hosted/docker-compose.yml exec -T db psql -U tool tooldbThis self-hosted backend is API-compatible with EventHive, so you can migrate your data to the hosted version at any time using the tool's built-in export/import feature.