That's right! TabletopTime is designed for low-friction scheduling. We know it's hard enough to get 5 people to agree on a time, let alone get them all to sign up for a new service.
How does the app remember who I am?
For verified users (Telegram/Discord), we use a secure cookie that lasts for 400 days and auto-refreshes every time you visit. For anonymous users, we use your browser's local storage to remember your name, plus a signed cookie for each event you vote on so that only this browser can edit that vote.
Where is my data stored?
If you are using the hosted version, your data is stored securely in Supabase. We automatically delete events one day after they end (a finalized event one day after its chosen slot, a campaign one day after its last session), drafts one day after their last proposed time, and cancelled events one day after cancellation. No third-party analytics run on the hosted site. We don't mine, sell, or keep your dataStored Fields:
Event Title & Description
Proposed Dates
Participant Names
Availability Votes
Auto-deleted one day after the event ends (drafts one day after their last proposed time, cancelled events one day after cancellation).. If you are self-hosting, the data lives on your own server and stays with you, and you can change these periods with the CLEANUP_RETENTION_DAYS_* variables.
How do I find my past events?
Check out the 'My Events' page! Since we don't have accounts, we track the events you visit on this device and list them there for easy access.
What is a 'Magic Link'?
(Optional) If you switch devices, send /start login to our Telegram bot in a private chat (or use Connect Telegram on My Events) to get a 'Magic Link' valid for 15 minutes, or sign in with Discord. This verifies your identity and restores the events linked to it on the new device.
Can I link an event to my Telegram or Discord after I've already voted?
Yes. Each event on your My Events page has a badge: a gray "This Device Only" badge means it's only saved in this browser, and clicking it lets you link it to any platform you're synced with. A colored "Telegram Synced" or "Discord Synced" badge means it's already linked, and clicking it lets you unlink it. You need to have voted on the event from this browser first, and you can only link or unlink your own identity.
How does the waitlist work?
Yes votes always come first. If Needed votes are only used to help reach the minimum player count. If there are enough "Yes" votes to play, "If Needed" players will remain on the waitlist. Once finalized, the list is locked. However, if an accepted player drops out or is removed by the host, the system will automatically promote the next person on the waitlist, update the group dashboard, and DM the promoted player if they linked Telegram or Discord! See full logic & examples.
Can I suggest a different time?
Absolutely! If none of the proposed times work for you, you can click 'Suggest a Time' on the voting dashboard to add a new option for everyone to vote on. Event creators can also add, edit, or delete time slots before the event is finalized.
How can I support this project?
If you find TabletopTime useful, you can support its development and keep it ad-free by buying me a coffee on Ko-fi!
Why did I make this tool?
I have a group of friends that plays Magic the Gathering - some of whom flat refuse to create an account at some data farming website. If I'm honest, I'd prefer to control my own data too. Also, some have families, some work strange hours, some have season tickets to sports, some have kids playing sports... trying to find a date that works for everyone is chaos.
Developers & Integration
Can I integrate this with my own site?
Absolutely! We have a public API that lets you pre-fill event details, creating voting links from your own community Discord or website. Check out the Developer Guide.
Found a bug or have an idea?
We are open source! Please report bugs or request features directly on our GitHub Repository.