Overview
Discover what makes Rallly powerful
Rallly is a self‑hosted, web‑based booking and scheduling platform that lets teams and communities create poll‑driven meeting slots. From a developer’s perspective, the core of Rallly is a modern TypeScript stack that leverages **Next.js** for server‑rendered React, **Prisma** as an ORM, and **tRPC** for type‑safe API routing. The UI is built with **TailwindCSS**, giving the application a clean, component‑driven look while keeping the CSS bundle minimal. The project is released under AGPLv3, ensuring that any derivative work remains open‑source and community‑driven.
Frontend
Backend
Database
Auth & Identity
Overview
Rallly is a self‑hosted, web‑based booking and scheduling platform that lets teams and communities create poll‑driven meeting slots. From a developer’s perspective, the core of Rallly is a modern TypeScript stack that leverages Next.js for server‑rendered React, Prisma as an ORM, and tRPC for type‑safe API routing. The UI is built with TailwindCSS, giving the application a clean, component‑driven look while keeping the CSS bundle minimal. The project is released under AGPLv3, ensuring that any derivative work remains open‑source and community‑driven.
Architecture & Technical Stack
- Frontend – Next.js 13+ with the App Router, React Server Components, and API routes powered by tRPC. The framework enables incremental static regeneration and edge rendering, which is useful for low‑latency poll updates.
- Backend – Node.js (v20+) running the tRPC router. All business logic is encapsulated in server‑side procedures, exposing a single JSON‑over‑HTTP endpoint that remains fully type‑safe across the stack.
- Database – PostgreSQL accessed via Prisma. The schema is versioned with migrations, and the repository ships a Docker Compose file that spins up Postgres in a container for local development.
- Auth & Identity – The codebase includes built‑in email/password authentication with optional OAuth providers, managed by tRPC procedures and JWT tokens stored in HTTP‑Only cookies.
- Deployment – Docker images are built from the repository’s
Dockerfile, and the self‑hosting guide covers Compose, Kubernetes, and Fly.io deployments. The stack scales horizontally by adding more Next.js workers behind a load balancer; the database can be read‑replicated for read‑heavy workloads.
Core Capabilities & APIs
- Poll Creation – Users can create multi‑date polls with constraints (e.g., time zone handling, minimum participants). The API exposes CRUD operations via tRPC that return strongly‑typed responses.
- Availability Voting – Poll participants vote on slots; the server aggregates votes and calculates optimal times. The logic runs in a single transaction to keep data consistent.
- Webhooks & Extensibility – Rallly ships a minimal webhook system that can notify external services when a poll is created, updated, or completed. Developers can subscribe to these events via simple POST URLs.
- Internationalization – The app uses
react-intlunder the hood, and all strings are extracted to.pofiles. Translators can contribute through Crowdin or by editing the locale JSONs. - Event Scheduling – Once a poll is finalized, Rallly can generate calendar invites (ICS) and send them via SMTP or an external provider.
Deployment & Infrastructure
The project is intentionally lightweight: a single Docker container hosts the entire application, and Postgres runs in its own container. For production, you can:
- Use Docker Compose for quick staging setups.
- Deploy to Kubernetes with Helm charts (customizable resource limits, persistent volumes).
- Run on Fly.io or Render.com, where the build pipeline automatically builds the image and exposes a public domain.
Horizontal scaling is straightforward—spin up multiple Next.js instances behind an NGINX or CloudFront load balancer. The stateless nature of the server means any instance can handle any request, provided they share the same database and Redis (for session caching) if used.
Integration & Extensibility
Rallly’s API is self‑documented via tRPC’s introspection, and developers can generate TypeScript clients automatically. The webhook system is the primary hook for external integrations; you can connect to Slack, Zapier, or custom services. For deeper integration, the Prisma client is exposed in the codebase, allowing you to write raw queries or extend the schema with custom tables (e.g., for resource booking). The open‑source license ensures you can modify the core without licensing constraints.
Developer Experience
- Configuration – All runtime options live in a
.envfile; the repo ships aREADMEthat explains every variable, including database URLs, SMTP settings, and feature flags. - Documentation – The
docsfolder contains a self‑hosting guide, API reference, and contribution guidelines. The community maintains a Discord server for real‑time support. - Testing – Jest and React Testing Library are used throughout, with coverage reports generated on CI. The Docker Compose setup allows running tests against a real Postgres instance.
- Community & Support – A growing contributor base, active issue tracker, and regular security audits make the project reliable for production use.
Use Cases
- Team Meeting Scheduler – A product team can host a poll for sprint planning, automatically generating calendar invites once the best slot is chosen.
- Community Events – A local club can use Rallly to poll members for a meetup date, avoiding the back‑and‑forth of email chains.
- HR Onboarding – HR can create onboarding sessions that employees vote on, then push the finalized schedule into corporate calendars.
- Educational Institutions – Professors can poll students for office‑hour availability, integrating with the university’s email system via webhooks.
Advantages Over Alternatives
- Full Self‑Hosting – Unlike SaaS schedulers, you own the data and can host in compliance‑heavy environments.
- **Type
Open SourceReady to get started?
Join the community and start self-hosting Rallly 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
Explore More Apps
linkding
Self‑hosted bookmark manager for minimal, fast organization
Mastodon
Decentralized, real‑time social networking
OpenOlitor
Open source CSA & regional agriculture management
Indico
Web‑based event and conference management platform
Feedpushr
A lightweight, pluggable feed aggregator and delivery engine
Netron
Visualize AI models in any browser or desktop