Timeful (formerly Schej.it) is a free, open-source group scheduling platform that makes it easy for teams to find the best time to meet. Users fill in their availability across date ranges or recurring day-of-week windows; Timeful overlays every response and highlights the windows where the most people — or a specific subset of people — are free. This fork, maintained for the Columbia Math Department, ships with department-specific defaults such as a one-hour meeting duration and per-slot capacity limits on sign-up forms.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ptshen/timeful-plus/llms.txt
Use this file to discover all available pages before exploring further.
Key Features
Availability Polls
Create polls for specific dates or recurring day-of-week schedules. Respondents mark “Available” or “If needed” slots; the heatmap instantly shows the best overlap.
Calendar Integration
Connect Google Calendar, Microsoft Outlook, or Apple Calendar so respondents’ busy times pre-fill automatically — no manual entry required.
Availability Groups
Create persistent groups that display real-time calendar availability for all members, making it trivial to see who is free right now.
Sign-Up Forms
Turn any event into a structured sign-up sheet with named time blocks and optional per-slot capacity limits — ideal for office hours or tutoring sessions.
Premium Features
All premium capabilities — response visibility controls, CSV export, duplicate polls, and email reminders — are automatically unlocked for every self-hosted deployment.
API & Swagger
A documented REST API is served at
/api with interactive Swagger UI available at /swagger/index.html.Columbia Math Department Fork
This repository is a fork of the upstream timeful.app project tailored for Columbia University’s Mathematics Department. It adds:- 1-hour default duration — new availability polls default to 60-minute slots rather than 30 minutes, matching department seminar conventions.
- Per-slot capacity limits — sign-up form blocks expose a
capacityfield so instructors can cap the number of students per office-hours slot.
Upstream features, bug fixes, and Docker images are inherited from
ghcr.io/lillenne/timeful.app/backend:latest and
ghcr.io/lillenne/timeful.app/frontend:latest. Pull the latest images with
make pull-ghcr to stay current.Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Vue 2 · Vuetify · TailwindCSS |
| Backend | Go 1.20 · Gin framework |
| Database | MongoDB 6.0 |
| Infrastructure | Docker Compose · Nginx |
3002, the frontend is a Vue 2 SPA served by Nginx, and all persistent data lives in a MongoDB volume. In the default Docker Compose configuration the entire stack runs as three containers on a private bridge network; the frontend port (3002) and MongoDB port (27017) are published to the host while the backend API port remains internal-only.
License
Timeful is released under the GNU Affero General Public License v3.0 (AGPL-3.0). Any deployment that makes the service available over a network must make the corresponding source code available. See theLICENSE file in the repository root for full terms.
Where to Go Next
Quickstart
Get a local instance running with Docker Compose in under 5 minutes.
Docker Self-Hosting
Full guide covering production deployment, reverse proxies, custom domains, and backup procedures.
API Reference
Browse all REST endpoints, request/response schemas, and authentication flow.