App Spotlight: Rallly, a Self-Hosted Doodle Poll Alternative
An open-sourced polling app to find optimal event timing based on participant availability
Users accustomed to regularly scheduling events with any number of participants are likely familiar with Doodle, the well-known online service that allows hosts to create polls and gauge participant availability across any combination of dates and times.
Fortunately, a solid self-hosted alternative exists for those who shy away from sharing unnecessary information with third parties – introducing Rallly.
Rallly is a functional and gorgeous Doodle alternative that allows users to create polls to determine event timing based on participant availability and can be entirely self-hosted. And while Rallly isn't perfect, we love it enough to feature it in this week's spotlight.
Keep reading to find out more.
The installation of Rallly is fairly straightforward given the developer's willingness to maintain a separate repository with instructions for those who'd like to spin up their own instance. The recommended docker-compose.yml file works out-of-the-box as long as users provide the requested config.env file within the project's folder before running commands (which contains 7-8 variables needed to configure Rallly successfully, including base URL, secrets, and SMTP configuration).
You'll notice that aside from the config.env file, Rallly will store all of its data and configuration settings within the accompanying PostgreSQL database. This makes backup trivial with a regularly timed pgdump command (don't forget to back up the config.env file as well!).
Users intimidated by the presence of an external database will unfortunately be out of luck, as we couldn't find any other options for running Rallly. The same goes for those who aren't able to provide valid SMTP credentials. While the application will still work, the ability to log in and edit past polls/responses depends on the software's ability to e-mail magic links for login.
If the PostgreSQL database or SMTP requirements are a dealbreaker, consider using the developer's own public instance to facilitate your polls. Despite not being self-hosted, you'd still be supporting open-source software.
User Experience: Admin vs User
From what we could gather, there is no differentiation in-app between an administrator and a user. Each user is tracked by either guest sessions that rely on a browser cookie for tracking or through the use of a magic link to user-provided e-mail addresses (via the configured SMTP credentials).
Note that the system designed to capture users via e-mail and send magic links for login was probably the most frustrating part of the software for us. There were often times where we thought we had logged in, responded to a poll, and exited – only to later discover that we either hadn't been properly logged in or something happened to disconnect our responses from our user account.
This didn't happen often, but enough that if given the option, we'd prefer traditional user/password authentication over magic links via e-mail.
The actual process of creating a poll once the application is up-and-running is very straightforward. From the homepage, click "Create new", fill out the required information, select possible dates (and times, if needed), and provide an e-mail address (to later manage/edit the poll if needed).
When you're done, click "Create poll" and you'll be taken to the poll itself where you can edit it, delete it, respond to it, or capture the link to share with others. If this is your first time creating a poll, you'll be reminded to confirm your e-mail address.
When other users receive the link to your poll, they'll see a simplified version of the page without the administrative options and will be able to select their availability for each time slot as either "Yes", "If need be", or "No". Users are also given the ability to add comments to the poll if needed.
The most significant thing we've missed while using Rallly is the lack of theming/dark mode. By default, all of the options within the application are presented in a white box situated over a light gray background. This isn't ideal for those responding to events in the evening, and the lack of contrast leaves it easy to skim over some of the details for each poll.
Aside from the experience provided by the application itself, we also think it's worth calling out how responsive the development team is in its support channels (Discord and GitHub). We were able to get quick responses to most of our questions as we were learning to use Rallly. When the team didn't have an answer or solve for a particular problem, they encouraged users to submit feature requests for potential implementation down the road.
Despite the one or two complaints outlined above, it's hard to talk about Rallly without getting excited about how great it is. It's one of the rare self-hosted software alternatives that exceeds its hosted counterpart in both functionality and design. As a result, it's become a staple in both our professional and personal lives.
If you've used Rallly and are happy with it, please consider donating to the developers for their work and to encourage the people who make the self-hosted community what it is.
Thanks, and happy selfh.st/ing!