A grid where everyone paints the times they are free, and the overlap shows the best slot — no accounts, no email, nothing but a link.
Build me the group availability grid that replaces When2meet: everyone paints when they are free, and the overlap is obvious. Read this first: the original is free, has no accounts, and has worked unchanged for twenty years. Nothing here saves money. The reasons to build it are that you want it on your own domain, in your own language, without its interface — and that it is genuinely a weekend, which makes it a good first project. What you cannot replicate is that everyone already knows the URL. STACK - Node 20+ with Fastify, server-rendered HTML with a little vanilla JS - SQLite through better-sqlite3, WAL mode - Caddy in front THE ONE RULE - No accounts. No email required. No confirmation step. A name and a grid - The moment somebody is asked to register, the tool has lost the only thing it has. Every feature below is subordinate to this - The organiser creates it in one form and gets a link. Everyone else opens the link and paints THE DATA MODEL - events: id, token, admin_token, title, timezone, kind, dates_json, start_minute, end_minute, slot_minutes, created_at, expires_at - participants: id, event_id, name, name_lower, password_hash, edit_token, created_at, updated_at - availability: participant_id, slot_index, level — one row per participant per available slot, or a packed bitmap per participant if you prefer; either is fine at this scale - Slots are computed from the event's definition rather than stored as rows. A slot index plus the definition gives an instant, and that keeps the table tiny TIME, WHICH IS THE ONLY REAL DIFFICULTY - The event has a home time zone. Every slot index maps to a UTC instant through that zone and the event's date list - Each participant sees the grid in their own browser's zone, with the conversion done on display and never in storage - A group across three continents is the case this tool exists for, so it must be right. If the grid is drawn in local time and stored in local time, an event spanning a daylight-saving change will have a missing or duplicated hour and nobody will understand why - Test with an event that crosses a spring-forward and an autumn-back day, and one where participants are in zones on either side of the date line - Two kinds of event: specific dates, or days of the week for a recurring arrangement PAINTING THE GRID - Click and drag to paint available, drag again to erase. That is the entire interaction and it must feel immediate - Works with a finger: touch and pointer events on one code path, with the page not scrolling while painting - Optionally three levels — free, if need be, unavailable — which is genuinely more useful than two, but default to two because a third choice slows everybody down - Saved as you paint, with no save button, and a clear indicator that it is saved - Returning with the same name and the optional password lets you edit; a stored edit token in the browser does the same without one THE OVERLAP - The group grid beside your own, shaded by how many people are free - Hovering a slot lists who is free and who is not. That list is what actually decides the meeting, so make it clear and readable rather than a tooltip that vanishes - The best slots highlighted, defined as the most people available for a contiguous run of the required length — not just the single best cell, because a meeting takes an hour - A count at the top: how many have responded, and who has not FINISHING - The organiser can mark a slot as chosen, and the page then shows the decision at the top - Everyone who left an email — optional, always — is told - An ICS download and hand-built add-to-calendar links, no third party - The page stays at the same URL forever, because people go back to it ACCESSIBILITY - The grid must be usable without dragging: keyboard navigation with arrows and space to toggle, and a plain form fallback listing slots with checkboxes - A drag-only interface excludes people who cannot use a pointer precisely, which is a lot of people, and this tool is meant for everyone in a group WHAT NOT TO ADD - Accounts, notifications, integrations, a mobile application, a paid tier - Every one of them makes it worse. The reason this format survived twenty years unchanged is that nobody added anything OPERATIONS - .env: DATABASE_PATH, BASE_URL, HASH_SALT - Migrations on boot, each once - Tokens long and random, compared in constant time - An expiry so events are eventually cleaned up, stated on the page - Nightly backup, restore script - Health endpoint WHAT MATTERS MOST Time zones and the painting interaction. Get instants right and make dragging feel instant on a phone, then send the link to five people in three countries and see whether anybody has to ask a question. If they do, remove something. Give me the repository, migrations, .env.example, a seed event, and a README with deploy steps behind Caddy.
What you lose
- A tool so simple that people actually use it, which is harder to design than to build
- Twenty years of a URL people remember
- Zero maintenance on your side
If you would rather not build
- A shared calendar with free-busy, which is free
- A group chat, which is how most of these end anyway
What it costs
as published on their pricing page
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $0/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
Why this verdict
our own opinion · changed only by a person
92/100
Verdict yes at 92, and it is free — build it only to own the design. The keyboard alternative to dragging is the part worth doing properly.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about When2meet
answered from the record above
Is When2meet free?
No — the plan we track is $0 a month. Free with no accounts and no paid tier; it is on this list as a benchmark rather than for its price.
Can you replace When2meet by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 92 out of 100, build time one session. Read what you lose before you decide.
How much does When2meet cost?
$0 a month on Free — $0 a year. Recorded 10 Aug 2026.
What do you lose by replacing When2meet?
A tool so simple that people actually use it, which is harder to design than to build; Twenty years of a URL people remember; Zero maintenance on your side. If any of those carry weight for you, keep paying.
Is there an open-source alternative to When2meet?
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
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

