OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Timeful

When2meet-style availability grid that shows when a group's free time overlaps

Open source alternative to

Visit TimefulGitHubDocumentation

Main features

  • Date and hour ranges that participants paint on a grid
  • Overlap view, also for a chosen subset of people
  • Separate "Available" and "If needed" times
  • Autofill from Google Calendar, Outlook, Apple Calendar or an ICS feed
  • Times converted to each viewer's time zone
  • Guests respond without an account
  • Responses visible only to the creator, as an option
  • Email notifications and reminders
  • Availability groups based on members' live calendars
  • CSV export, poll duplication and When2meet import

What Timeful does

Timeful solves the “when can everyone meet?” problem with a grid rather than a list of options. The organizer picks a range of dates (or days of the week) and the hours worth considering, then shares the link. Each participant drags across the cells when they are free, and can mark some cells as “If needed” instead of fully available. The combined view then shows where everyone’s free time overlaps. You can also narrow the view to a subset of participants, which helps when only some people are essential.

This is the When2meet approach, and it differs from a Doodle-style poll such as Rallly, where the organizer proposes a handful of specific slots and people vote on each. A grid works better when the organizer has no candidates in mind and wants to see the whole week; a slot poll works better when there are three or four realistic options. Timeful can import existing When2meet events, which eases a switch.

Calendars and privacy

Participants can type in their availability by hand, but the project encourages connecting a calendar so that existing events show up while you fill in the grid. Google Calendar, Outlook and Apple Calendar are supported, as is a plain ICS feed URL. The FAQ states that other participants see only the availability you enter, not your calendar events. Times are shown in each viewer’s own time zone, with a manual selector for people planning across regions.

“Availability groups” go a step further: members link their calendars to a group, and the group shows their real-time free and busy times without a new poll each week. The creator can also hide all responses from other participants, which is useful when you do not want people to anchor on each other’s answers. A plugin API documented in the repository lets browser extensions read and write availability on events.

Self-hosting Timeful

The deployment guide uses Docker Compose with three services: MongoDB 7, a container that builds the Vue frontend, and the Go backend listening on port 3002. A reverse proxy handles HTTPS; the repository includes an example Caddy configuration. NixOS setup instructions are also provided. Data lives in Docker volumes, and the guide shows how to back up and restore the database with mongodump.

The main hurdle is that a Google OAuth client ID and secret are listed as required, with the Calendar, People and Admin SDK APIs enabled in Google Cloud, even if your users mostly use another calendar. You also generate an encryption key and a session secret. Microsoft credentials for Outlook are optional. Email sending is configured through a Gmail app password or a Listmonk instance, so plan for one of the two if you want notifications and reminders to work.

Hosted version

The developers run the service at timeful.app. Its landing page says Timeful is now completely free, that the banner ads and the premium subscription tier have been removed, and that responding requires no login.

Limitations

Timeful only finds a time. It has no booking pages for one-to-one appointments, so it does not replace Calendly, and the README does not describe sending a final calendar invite once the group agrees. The Google OAuth requirement and the Gmail-or-Listmonk email setup make self-hosting more fiddly than the small stack suggests. The frontend is built on Vue 2, which the Vue team says reached end of life on 31 December 2023.

Who it suits

Timeful suits student groups, clubs, volunteer teams and colleagues who need to find a common slot across a week, especially when nobody has proposed dates yet. Most will use the free hosted service; organizations that want the data on their own server can run it with Docker. For organizer-proposed date polls see Rallly, and the scheduling guide covers both styles.

License details

AGPL-3.0. No proprietary directory. The hosted service dropped its ads and premium tier and is now free to use.

Technical details

Self-hosting needs

  • MongoDB
  • Google OAuth client

Built with

  • Go
  • Vue
  • Tailwind CSS

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.