Anonymous realtime voting for situations where a decision needs to happen now.
docker-compose up -d
FastVote removes sign-up friction from short-lived voting. Create a poll, share the link, and watch results update live.
- UUID-based room creation with anonymous participation
- Redis-backed TTL lifecycle plus WebSocket result updates
- Public/private polls, password protection, comments, and multi-select support
Main |
Create |
Vote |
Polls |
- Short-lived decisions need less setup, not more
- Result updates are designed around immediacy instead of refresh cycles
- The product supports both casual community use and structured team voting
- Anonymous poll creation
- Live result updates over WebSocket
- Public / private visibility controls
- Password-protected polls
- Multi-select voting
- Anonymous comments
- Korean / English locale support
- Dark mode
docker-compose up -dLocal services:
- Frontend:
http://localhost:3000 - Backend API:
http://localhost:8000 - API docs:
http://localhost:8000/docs
For more setup detail, see docs/getting-started.md.
- Create a poll from
/create - Share the generated room link
- Watch live results without refreshing
- Optionally restrict access with visibility or password rules
frontend/: Next.js applicationbackend/: FastAPI API and WebSocket serverdocs/: architecture, setup, API, and project notes
Local checks:
cd frontend && npm run lint
cd frontend && npm run test:e2e
cd backend && uv run pytestIssue reports should include:
- Browser and OS
- Reproduction steps
- Expected vs actual behavior
- Whether the issue happened in frontend UI, backend API, or WebSocket updates
Recommended commit prefixes: feat, fix, docs, refactor, test, chore
MIT



