Rallly

rallly.cocontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

A meeting poll: propose several times, let people tick which they can make, and see which slot wins — the open-source answer to Doodle.

Promptfree, for everyone, and the only version there is
Build me a meeting poll that replaces Rallly and Doodle: propose some times, let people tick the ones that work, and see the winner without an account or a chain of emails.

STACK
- Node 20+ with Fastify, server-rendered HTML, a little JavaScript for the grid
- SQLite through better-sqlite3, WAL mode
- Caddy in front. No accounts, no sessions beyond a signed cookie for the organiser

THE DATA MODEL
- polls: id, public_id, admin_id, title, description, location, timezone, kind, created_at, closes_at, finalised_option_id, hide_results_until_voted, allow_comments
- options: id, poll_id, starts_at, ends_at, position — a date, or a date and a time range
- participants: id, poll_id, name, email, created_at, edit_token
- responses: participant_id, option_id, answer — yes, no, or if-need-be
- comments: id, poll_id, participant_id, body, created_at
- Two identifiers per poll: a public one anybody with the link can use, and an admin one only the organiser has. Both are unguessable, and neither is the row id

TIME, WHICH IS WHERE THESE THINGS BREAK
- Every option is stored as an instant in UTC plus the timezone it was created in
- Every participant sees the times in their own timezone, with the poll's original timezone stated beneath, and a control to switch
- A poll can be marked 'timezone-free' — for a date without a time, or a meeting where everybody is in one room — and then no conversion happens at all
- Daylight saving is handled by storing the zone name, never a fixed offset. Say so in a comment: a meeting in three weeks can cross a clock change

VOTING
- No account. A name, optionally an email, and a grid of ticks
- Three states per option: yes, no, if-need-be — and the third is the one that makes these polls work, because it separates 'I can' from 'I would rather not'
- A participant gets an edit link by email, or a token in their browser, so they can change their mind without a second row appearing
- Optionally hide results until somebody has voted, so nobody follows the crowd
- A poll can be closed, after which it is readable but not votable

SEEING THE ANSWER
- The grid: options across, people down, with totals per option
- The winning option is the one with most yes, ties broken by fewest no, then by earliest — and the rule is printed, not implied
- Highlight the option where everybody can make it, if there is one
- Finalise: the organiser picks an option, everybody with an email gets the confirmation with a calendar file attached, and the poll page shows the decision at the top

CALENDAR FILES, PROPERLY
- The .ics carries the event with a correct VTIMEZONE block, a stable UID, and the organiser as ORGANIZER
- A change to the finalised time sends an update with the same UID and a higher SEQUENCE, so calendars move the existing entry instead of adding a second one
- Google, Apple and Outlook all tested; the README says which quirks were found

NOTIFICATIONS
- The organiser is told when somebody votes, batched to at most one email an hour
- Participants are told when the poll is finalised or the times change
- Every email has a link to stop being told, working without a login

PRIVACY
- Emails are stored only when given, used only for that poll's messages, and deleted with the poll
- A poll deletes itself N days after its last option has passed, and the organiser is warned first
- No third-party script, no cookie beyond the organiser's signed token

THE INTERFACE
- The grid works on a phone: it scrolls sideways inside its own box while the page does not, and the names column stays put
- One screen to create: title, some options from a calendar picker, done
- Dark and light, one accent, and the winning column visible without hunting

OPERATIONS
- .env: DATABASE_PATH, BASE_URL, SMTP_URL, TOKEN_SECRET
- Migrations on boot, each once
- Nightly backup and a restore script
- Health endpoint

WHAT MATTERS MOST
Timezone handling and the edit link are the product. Build option storage, per-viewer conversion and the .ics first, and test a poll that straddles a daylight-saving change with participants in three countries. Everything else is a grid.

Give me the repository, migrations, .env.example, a seed poll with five options and four participants, and a README with deploy steps behind Caddy.

What you lose

  • A hosted instance with a memorable short link you can paste into a chat
  • Time zone handling across participants, which is the only fiddly part
  • Reminders to people who have not responded

If you would rather not build

  • A message asking which day suits, which still works

What it costs

as published on their pricing page

PlanBilled monthlyBilled yearlyLast read
—$5/mo——

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Rallly

$0

The product itself, self-hostable with Docker.

lukevella/ralllyfree · open source

Framadate

$0

A long-standing open date-polling tool.

framasoft/framadatefree · open source

Why this verdict

our own opinion · changed only by a person

90/100

Verdict yes at 90. The whole product is a table of ticks. Storing instants in UTC and displaying per viewer is the one rule to follow.

History

tracked since 10 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Rallly

answered from the record above

Is Rallly free?

No — the plan we track is $5 a month. Pro at around $5/month billed monthly; the software is free to self-host and the hosted free tier covers basic polls.

Can you replace Rallly by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 90 out of 100, build time one session. Read what you lose before you decide.

How much does Rallly cost?

$5 a month on Pro — $60 a year. Recorded 10 Aug 2026.

What do you lose by replacing Rallly?

A hosted instance with a memorable short link you can paste into a chat; Time zone handling across participants, which is the only fiddly part; Reminders to people who have not responded. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Rallly?

Yes: Rallly, Framadate. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 14 in Scheduling

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc