output.mp4
- Ensure you have Node.js (v20+) installed
- Install PNPM:
npm install -g pnpm - Install dependencies:
pnpm install - Update /etc/hosts
...
127.0.0.1 localhost
::1 localhost
...
+ 127.0.0.1 client.breakout.local
+ 127.0.0.1 server.breakout.localBecause this application shares the cookie between the client and server app, it is probably easier if you just do the whole local dev environment with docker compose, with caddy (and redis) setup already.
- install docker
- docker compose up -d
- visit https://client.breakout.local
- certs are in caddy
- https://github.com/FiloSottile/mkcert#installing-the-ca-on-other-systems
To expose the Claude Code web UI through Tailscale:
-
Configure Tailscale to accept routes (if needed):
sudo tailscale set --accept-routes -
Login to Tailscale:
sudo tailscale login
-
Start Claude Code web UI:
./claude-code-webui-linux-x64
-
Expose it through Tailscale (runs in background):
sudo tailscale serve --bg http://localhost:8080
The Claude Code web UI will now be accessible through your Tailscale network.
apps/: Application-specific projectspackages/: Shared libraries and utilities
- Room creation with Redis persistence
- User identification with cookies
- Random name generation with customization
- Real-time participant tracking
- Host view of attendees
- Group configuration (size/count modes)
- Real-time group distribution preview
- Group assignment with shuffle
- Real-time notifications
- Group state persistence
- Repeat minimization algorithm
- Late-joining participant handling
- Enhanced group management features
For detailed task tracking and future improvements, see docs/todos.md