Rallly is a self-hostable, open-source scheduling platform that enables teams and groups to coordinate meeting times through collaborative polls. It eliminates email chains by letting participants vote on available time slots, with real-time updates visible to all. Designed for both casual users and professionals, it supports multilingual interfaces and integrates with modern web technologies like Next.js, Prisma, and tRPC.
Built on the T3 stack (TypeScript, tRPC, TailwindCSS, Next.js), Rallly uses PostgreSQL via Prisma for data persistence and React-Email for notifications. It supports Docker-based deployment and offers a self-hosting option with full control over data, while also providing a cloud-hosted SaaS version with premium features like indefinite poll retention and white-labeling.
What You Get
- No-login Poll Creation - Users can create and share scheduling polls without requiring accounts or email signups, reducing friction for participants.
- Real-time Availability Voting - Participants select available time slots, and updates are instantly reflected for all viewers in real time.
- Multi-language Support - Fully localized in 10+ languages via Crowdin, enabling global teams to use Rallly in their native language.
- Self-hosting with Docker - Deploy Rallly on your own infrastructure using Docker Compose, with full control over data and configuration via environment variables.
- White-labeling for Self-hosted Instances - Customize your Rallly instance with your own logo, colors, and branding for corporate or institutional use.
- Inactive Poll Auto-deletion - Free users’ polls are automatically deleted after 30 days of inactivity if all options are in the past, encouraging active use.
- Dark Mode - A built-in dark theme optimized for low-light environments and extended use.
- Spaces (Team Collaboration) - Centralized billing, member management, and team-wide poll organization for Pro users.
- Quick Create - Streamlined one-click poll creation to reduce setup time and accelerate scheduling workflows.
Common Use Cases
- Coordinating team meetings across time zones - A remote team uses Rallly to poll availability across 10+ members in different time zones, avoiding 20+ email threads.
- Organizing student group projects - University students create anonymous polls to find meeting times without requiring institutional logins.
- Running nonprofit event planning - Volunteers schedule weekly coordination calls using Rallly’s free tier, with no need for paid tools or complex software.
- Corporate HR onboarding coordination - HR departments use white-labeled Rallly instances to schedule new hire orientation slots with branded logos and domains.
Under The Hood
Architecture
- Monorepo structure with clearly separated packages for web, database, and email services, enabling independent development and build pipelines
- Prisma ORM serves as the centralized data access layer with generated types and migration scripts ensuring type-safe database interactions
- Dependency injection is implemented through environment variables and Docker Compose configurations, allowing environment-aware service behavior without hardcoding
- React components are strongly typed and designed for reuse across server and client contexts, with clear boundaries between data fetching and UI rendering
- CI/CD and development workflows are orchestrated via Turbo and workspace configuration, enforcing build order and caching to optimize performance
Tech Stack
- Next.js with server components and static generation forms the frontend foundation, delivering high-performance user experiences
- Prisma manages PostgreSQL data with comprehensive schema definitions and migration tooling
- Turbo enables efficient parallelized builds and tests across multiple packages in the monorepo
- Comprehensive testing includes unit tests with Vitest and end-to-end flows with Playwright, supported by page object models and mocking
- Infrastructure is containerized with PostgreSQL, Redis, MinIO, and Mailpit, all orchestrated via Docker Compose with automated provisioning
- Internationalization is handled via i18next with Crowdin integration, and code consistency is maintained with Biome
Code Quality
- Extensive test coverage spans unit, integration, and end-to-end scenarios with robust assertions for both success and failure states
- Strong type safety is enforced through Zod validation and TypeScript interfaces, reducing runtime errors and improving developer confidence
- Clear naming conventions and well-structured utilities enhance readability and maintainability across the codebase
- Linting, formatting, and testing are tightly integrated into the development lifecycle, including pre-commit hooks and visual regression testing
- Error handling is user-focused with meaningful validation messages and structured test patterns that validate edge cases
What Makes It Unique
- Dynamic Open Graph image generation embedded directly in API routes with custom fonts and layout logic, eliminating reliance on third-party services
- Event-driven data cleanup system using Hono cron endpoints to safely purge inactive polls while respecting subscription tiers
- Token-based participant editing via URL parameters enables collaborative editing without authentication, synchronized via React Query
- Extensible poll voting system with normalized vote types and optimistic UI updates powered by tRPC for type-safe client-server communication
- Unified component architecture across frontend and API layers, enabling consistent i18n and moderation patterns throughout the application