Overview
Discover what makes pretalx powerful
pretalx is a full‑stack, open‑source conference management platform that guides an event from call‑for‑papers to a published schedule. From a developer’s viewpoint it is essentially a *Python/Django* application exposed through a RESTful API, with a rich plugin ecosystem and an extensible data model that can be adapted to any event size or structure. The core workflow—submission, review, speaker communication, scheduling, and publication—is driven by configurable state machines that can be altered via the admin interface or through custom plugins.
Dynamic event configuration
Built‑in review system
Email orchestration
Schedule builder
Overview
pretalx is a full‑stack, open‑source conference management platform that guides an event from call‑for‑papers to a published schedule. From a developer’s viewpoint it is essentially a Python/Django application exposed through a RESTful API, with a rich plugin ecosystem and an extensible data model that can be adapted to any event size or structure. The core workflow—submission, review, speaker communication, scheduling, and publication—is driven by configurable state machines that can be altered via the admin interface or through custom plugins.
Key Features
- Dynamic event configuration – Define tracks, rooms, time slots, and review workflows via the admin UI or JSON schema.
- Built‑in review system – Supports anonymous, open, or hybrid reviews with configurable scoring and comment fields.
- Email orchestration – Bulk templated mail, preview rendering, and per‑submission overrides.
- Schedule builder – Automated conflict detection, speaker‑centric scheduling, and public schedule export in iCal or JSON.
- Extensive API – CRUD endpoints for events, talks, reviews, and schedules; OAuth2 support for third‑party integrations.
Technical Stack
| Layer | Technology |
|---|---|
| Backend | Python 3.11, Django 5.x, Django REST Framework |
| ORM & DB | PostgreSQL (default), optional SQLite for dev; supports MySQL/MariaDB via pg8000 |
| Frontend | React 18 (single‑page admin), Django templates for public pages |
| Task Queue | Celery with Redis broker (for email, scheduling tasks) |
| Search | ElasticSearch or PostgreSQL full‑text search |
| Containerization | Official Docker image, docker‑compose templates |
The application follows a classic Django MVC pattern with well‑defined models.py, views.py, and serializers.py. Custom logic is encapsulated in signals and middleware, allowing developers to hook into lifecycle events (e.g., post_submission, pre_schedule) without modifying core code.
Architecture
pretalx is modular: the core package contains the data model, API endpoints, and admin UI; the plugins directory hosts third‑party extensions that register signals, templates, or REST endpoints. Each plugin declares its dependencies in a setup.py‑style file and can be installed via pip or Docker volumes. The plugin system is event‑driven; for example, a “Slack notification” plugin listens to submission_created and pushes a message to a configured channel.
The scheduling engine is a separate service that runs as a Celery task. It pulls the current event configuration, performs constraint satisfaction (room capacities, speaker availabilities), and writes a deterministic schedule back to the database. This separation allows scaling the scheduler independently or swapping it for a custom algorithm without touching the core.
Deployment & Infrastructure
pretalx is designed for self‑hosting on any Linux server. A single Docker Compose stack pulls the official image, mounts a volume for media files, and connects to PostgreSQL and Redis. For production, the recommended stack includes:
- Nginx reverse proxy with SSL termination
- Gunicorn workers (4–8 depending on traffic)
- Celery beat for periodic tasks
- PostgreSQL with WAL archiving for point‑in‑time recovery
Horizontal scaling is straightforward: duplicate the web workers behind a load balancer, and share the same PostgreSQL cluster. The scheduler can be run on a dedicated node to avoid blocking HTTP requests.
Integration & Extensibility
Developers can extend pretalx in several ways:
| Extension Point | How to Use |
|---|---|
| REST API | Consume endpoints or expose new ones via views.py |
| Webhooks | Register event URLs in the admin to receive JSON payloads on submission or schedule changes |
| Plugins | Create a Python package that registers signals, templates, and static assets |
| Custom Fields | Add fields to Talk or Submission models via migrations and expose them in forms |
| Authentication | Plug OAuth2, SAML, or LDAP backends by extending django.contrib.auth.backends |
The plugin ecosystem is vibrant: the community publishes packages for Slack, Teams, Google Calendar sync, and even custom review dashboards. Because plugins are isolated, they can be versioned independently of the core application.
Developer Experience
The documentation is thorough, with a dedicated Developer Guide that walks through API authentication, plugin creation, and deployment best practices. The codebase follows PEP‑8 conventions, and tests are written with pytest–django, making contributions straightforward. Community support is active on GitHub Discussions and a Slack channel where maintainers answer architecture questions promptly.
Use Cases
- Academic Conferences – Rapidly spin up a multi‑track event with anonymous peer review and automated scheduling.
- Corporate Hackathons – Customizable submission forms, real‑time Slack notifications, and an API for integration with internal tools.
- Online Events – Use the public schedule API to power a custom front‑end, or embed pretalx’s widgets in a static site.
- Developer Meetups – Lightweight deployment on a single server with minimal maintenance overhead.
Advantages
- Open Source & Transparent – No licensing fees; full control over data and customizations.
- Python/Django Familiarity – Developers can leverage existing Django expertise for rapid feature development.
- Extensible Architecture – Plugin system and event hooks reduce the need for core code modifications.
- Scalable & Production‑Ready – Built with Celery,
Open SourceReady to get started?
Join the community and start self-hosting pretalx today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Tags
Explore More Apps
ybFeed
Sync micro‑feeds across machines with a secret link or PIN
Synapse
Matrix homeserver for secure, federated messaging
SearXNG
Privacy‑focused metasearch engine that aggregates results without tracking
OvenMediaEngine
Sub‑second latency streaming server for live video
string.is
Privacy‑friendly string conversion toolkit for developers
bitmagnet
Self‑hosted BitTorrent indexer with DHT crawling