An open-source, community-focused event management and ticketing platform.
Revel is an event management platform designed with community at its heart. Initially created to serve the specific needs of queer, LGBTQ+, and sex-positive communities, it is built to be event-agnostic, scalable, and a powerful tool for any group that values privacy, control, and transparency.
Unlike monolithic corporate platforms that treat events as transactions, Revel treats them as part of a larger community ecosystem.
Try Revel yourself at demo.letsrevel.io
- Frontend Demo: https://demo.letsrevel.io
- API Documentation: https://demo-api.letsrevel.io/api/docs
- Feedback is welcome: https://forms.gle/uuW6wSNn7BQLZWMS7
Note: Emails are dry-run, and demo data resets daily at 00:00 CET.
Revel addresses the shortcomings of existing event platforms, especially for communities that prioritize safety, autonomy, and trust.
Mainstream platforms often have restrictive content policies or lack privacy features, creating challenges for adult, queer, or activist-oriented events. Revel is explicitly designed to support these communities.
Avoid vendor lock-in. Host Revel on your own infrastructure for free, giving you complete control over your data and eliminating platform commissions. Its open-source nature means you can trust the code you run.
For those who choose our future hosted version:
- No charge for free events or events where you handle payments yourself
- 1.5% + €0.25 commission on paid tickets sold through Revel (stripe fees not included, and they are the same)
This significantly undercuts the high fees of major platforms while keeping the project sustainable and open source.
Revel combines the ticketing power of platforms like Eventbrite with the community-building tools of Meetup, all under a privacy-minded, open-source framework.
- Organizations: Create and manage your community's central hub with customizable visibility (Public, Private, Members-Only)
- Roles & Permissions: Granular permission system with Owner, Staff, and Member roles
- Membership System: Manage member rosters, enable members-only events, foster belonging
- Advanced Attendee Screening: Gate event eligibility with custom questionnaires for automatic or manual review
- Full Data Ownership: When self-hosting, you control your data—no third-party trackers, no data selling
- Tailored Invitations: Send direct invitations that can waive requirements for trusted guests
- GDPR Compliant: Built-in data export, account deletion, and privacy controls
- Event & Series Management: Create single events or recurring series under your organization
- Flexible Ticketing: Support for paid/free tickets (powered by Stripe, including Pay What You Can mode) and simple RSVPs
- QR Code Check-In: Streamlined event entry with QR code scanning
- Potluck Coordination: Built-in system for attendees to coordinate bringing items
- Mobile-First Design: Optimized for mobile devices with progressive enhancement
- Accessibility First: WCAG 2.1 AA compliance as standard, not an afterthought
- Fast & Responsive: Hybrid SSR/CSR rendering for optimal performance
- Real-Time Features: Live check-in, potluck updates, and instant notifications
- Python 3.13+ with Django 5.2
- Django Ninja for fast, auto-documenting REST API
- PostgreSQL with PostGIS for geo-features
- Celery + Redis for async tasks (emails, evaluations)
- Stripe for payment processing
- Docker for containerized deployment
- SvelteKit with Svelte 5 (modern Runes API)
- TypeScript (strict mode) for type safety
- TanStack Query for server state management
- Tailwind CSS + shadcn-svelte for UI
- Zod for runtime validation
- Vitest + Playwright for comprehensive testing
# Clone the backend repository
git clone https://github.com/letsrevel/revel-backend.git
cd revel-backend
# Download required geo data (see backend README for links)
# Place IP2LOCATION-LITE-DB5.BIN and worldcities.csv in src/geo/data/
# Run automated setup
make setup
# Start the server
make runAPI available at: http://localhost:8000
API docs: http://localhost:8000/api/docs
# Clone the frontend repository
git clone https://github.com/letsrevel/revel-frontend.git
cd revel-frontend
# Install dependencies
pnpm install
# Generate API client from backend OpenAPI spec
pnpm generate:api
# Start development server
pnpm devFrontend available at: http://localhost:5173
Prerequisites: Node.js 20+, pnpm 9+, Python 3.13+, Docker, PostgreSQL
- revel-backend - Django REST API, business logic, database
- revel-frontend - SvelteKit web application
- infra - Production infrastructure with Docker Compose, Caddy reverse proxy, and complete observability stack (Grafana, Prometheus, Loki, Tempo, Pyroscope)
Backend:
- Clean separation: Controllers → Services → Models
- Type-safe with mypy strict mode
- Comprehensive test coverage with pytest
- OpenAPI auto-generation for API documentation
Frontend:
- Hybrid SSR/CSR rendering strategy
- Auto-generated TypeScript client from OpenAPI spec
- Component-driven architecture with Svelte 5 Runes
- Accessibility-first development (WCAG 2.1 AA)
Released: November 19, 2025
Revel v1.0.0 is the first major release of our open-source, community-focused event management platform. This release delivers a complete, production-ready system with 200+ API endpoints across 18 controllers.
- Complete Event Management: Single events, recurring series, flexible ticketing (paid/free/PWYC), RSVPs, waitlists, and QR code check-in
- Community Building: Organizations with membership tiers, roles & permissions, and token-based invitations
- Advanced Screening: Dynamic questionnaires with LLM-powered evaluation for attendee screening
- Multi-Channel Notifications: In-app, email, and Telegram notifications with granular user preferences
- Privacy-First: GDPR-compliant with full data export/deletion, malware scanning, and 2FA support
- Developer Experience: Full type safety (mypy strict), comprehensive test suite, automatic OpenAPI docs
- Observability: Complete LGTM stack (Loki, Grafana, Tempo, Mimir, Pyroscope) with distributed tracing and continuous profiling
- Internationalization: Support for English, German, and Italian (work in progress)
Tech Stack: Django 5.2+, Django Ninja, PostgreSQL with PostGIS, Celery + Redis, Python 3.13+
Self-Hosting: Completely free and open-source under MIT license. For the future hosted version: 3% + €0.50 per paid ticket, no charge for free events.
We welcome contributions from developers of all skill levels!
- Check open issues or frontend issues
- Read the CONTRIBUTING.md guidelines
- Fork the repository and create a feature branch
- Write tests for your changes
- Submit a pull request
Backend:
- Follow Django best practices
- Write comprehensive tests (aim for >90% coverage)
- Use type hints and pass mypy strict checks
- Document API endpoints with proper schemas
Frontend:
- Use Svelte 5 Runes (not legacy reactive syntax)
- Maintain WCAG 2.1 AA accessibility standards
- Design mobile-first, enhance for desktop
- Write unit tests with Vitest, E2E tests with Playwright
The backend is carefully architected and tested. The frontend, however, was shamelessly vibe-coded using Claude Code. It's a bit of a spaghetti mess, but it works! Any help cleaning it up is greatly appreciated!
Revel is committed to being accessible to everyone:
- ✅ Keyboard navigation for all interactive elements
- ✅ Screen reader support with semantic HTML and ARIA labels
- ✅ WCAG AA color contrast standards (4.5:1 minimum)
- ✅ Clear focus indicators
- ✅ Responsive design that works on all devices
- ✅ Progressive enhancement (core functionality without JS)
We test with automated tools (axe, Lighthouse) and manual testing with screen readers.
This project is licensed under the MIT License. See LICENSE for details.
- Backend Repository: github.com/letsrevel/revel-backend
- Frontend Repository: github.com/letsrevel/revel-frontend
- Live Demo: demo.letsrevel.io
- API Documentation: demo-api.letsrevel.io/api/docs
- Community Discord: discord.gg/zy8nTDqQ
- Documentation: Coming soon
- Built with Django, SvelteKit, and PostgreSQL
- UI components from shadcn-svelte
- Icons from Lucide
- IP geolocation from IP2Location LITE
- City data from SimpleMaps World Cities Database (CC BY 4.0)
If you find Revel useful, consider:
- ⭐ Starring the repositories
- 🐛 Reporting bugs and suggesting features
- 💻 Contributing code or documentation
- 📢 Spreading the word in your community
Built with love for communities that value privacy, safety, and autonomy.