Skip to main content

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.

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.

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 capacity field 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

LayerTechnology
FrontendVue 2 · Vuetify · TailwindCSS
BackendGo 1.20 · Gin framework
DatabaseMongoDB 6.0
InfrastructureDocker Compose · Nginx
The backend exposes a JSON API on port 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 the LICENSE 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.

Build docs developers (and LLMs) love