Free and open-source university timetable, campus navigation, and campus data infrastructure for students across Canada.
Privacy-first timetable intelligence, campus maps, and day planning in one application for multiple universities.
Gapwise · Android · iOS · AI · Data · Docs · CLI · Status
Local-first · deterministic where correctness matters · explicit about trust boundaries
Gapwise turns a university timetable into a model of the day around it: what is next, how much usable time exists between classes, where a student can realistically go, when they need to leave, and how certain the underlying campus information is.
Gapwise supports 14 universities across 16 campus models in Canada from one canonical web application:
| University | Edition | Scope | Timetable Source |
|---|---|---|---|
| University of Toronto | gapwise.ca | Mississauga, St. George, Scarborough | ACORN calendar export (.ics) |
| Carleton University | carleton.gapwise.ca | Ottawa campus | Carleton Central schedule text & .ics |
| Toronto Metropolitan University | tmu.gapwise.ca | Downtown Toronto campus | MyServiceHub (RAMSS) & Google Calendar |
| Queen's University | queens.gapwise.ca | Kingston campus | SOLUS Student Center subscription & text |
| Wilfrid Laurier University | laurier.gapwise.ca | Waterloo campus | LORIS Detail Schedule & MyLS |
| York University | york.gapwise.ca | Keele campus | VSB / REM timetable & .ics |
| McMaster University | mcmaster.gapwise.ca | Hamilton campus | Mosaic Timetable & Outlook Calendar |
| Western University | western.gapwise.ca | London campus | Student Center schedule text & .ics |
| University of Guelph | guelph.gapwise.ca | Guelph campus | WebAdvisor schedule text & .ics |
| University of Ottawa | uottawa.gapwise.ca | Downtown Ottawa campus | uoCampus schedule text & .ics |
| Brock University | brock.gapwise.ca | St. Catharines campus | BrockDB / Student Portal text & .ics |
| University of British Columbia | ubc.gapwise.ca | Vancouver / Point Grey campus | Workday View My Courses table |
| University of Waterloo | waterloo.gapwise.ca | Main campus | Quest Class Schedule list view |
| McGill University | mcgill.gapwise.ca | Downtown Montreal campus | myCourses .ics calendar export |
Each university provides its own timetable adapter, campus data model, and branding configuration. The shared application, pedestrian routing, gap planner, and UI are not duplicated.
The web campus explorer includes source-backed building identities and footprints for all 14 supported universities. Pedestrian routing is available across all 16 campus models, with provenance and accessibility certainty preserved per campus.
Timetable files are parsed locally in the browser. Arithmetic, routing, travel time, gap budgets, destination feasibility, and leave-by calculations are deterministic rather than delegated to a language model.
| Repository | Owns | Surface |
|---|---|---|
gapwise |
Core web/PWA, canonical timetable/gap/routing semantics, public API, OpenAPI, and SDK source | gapwise.ca · api.gapwise.ca |
android |
Native Kotlin + Jetpack Compose Android implementation and Android integration | Android |
ios |
Native Swift + SwiftUI iOS implementation and Apple-platform integration | iOS |
ai |
OAuth/MCP boundary for explicitly delegated student context and bounded AI actions | ai.gapwise.ca |
data |
Canonical public campus data, provenance, schemas, validation, and distribution | data.gapwise.ca |
cli |
Public campus discovery and queries, plus university scaffolding and validation | CLI guide |
docs |
Public developer documentation for APIs, SDKs, data, security, native integration, and AI/MCP | docs.gapwise.ca |
status |
Independent service-health monitoring and incident communication | status.gapwise.ca |
Organization-wide contribution, security, support, and issue defaults live in .github.
flowchart LR
U[Student] --> W[Web / PWA]
U --> A1[Android]
U --> I[iOS]
U -. optional delegation .-> AI[AI / MCP]
W --> C[Deterministic Gapwise core]
A1 --> C
I --> C
AI --> C
C --> D[Canonical multi-university campus data]
AI --> D
DOCS[Documentation] -. describes .-> C
DOCS -. describes .-> D
STATUS[Status] -. observes .-> W
STATUS -. observes .-> AI
gapwise owns deterministic student-day semantics and the single web application. data owns shared public campus facts. cli scaffolds integrations. docs documents released contracts. status observes public services. android and ios adapt canonical behavior to their platforms. ai consumes bounded context; it does not become a second timetable or routing engine.
| Principle | What it means | |
|---|---|---|
| 01 | Privacy first | Collect, transmit, and retain less student information. Keep trust boundaries narrow and explicit. |
| 02 | Deterministic core | Schedules, routes, durations, feasibility, and leave-by timing must be reproducible. |
| 03 | Canonical facts | Shared campus information has one owner, with provenance and visible uncertainty. |
| 04 | Local where practical | Keep useful functionality available without unnecessary network dependencies. |
| 05 | Interfaces consume truth | Web, Android, iOS, APIs, and AI should not silently recreate domain behavior. |
| 06 | Scope stays honest | All-campus timetable support does not imply all-campus map or routing coverage. |
| 07 | Useful over complicated | Architecture exists to improve a student's day, not to make the diagram larger. |
- API:
api.gapwise.ca/v1 - OpenAPI:
api.gapwise.ca/openapi.json - Documentation:
docs.gapwise.ca - Campus data:
data.gapwise.ca - AI / MCP:
ai.gapwise.ca - JavaScript / TypeScript SDK:
@gapwise/sdk - Python SDK:
gapwise - Security:
security@gapwise.ca - Support:
support@gapwise.ca
Choose the repository that owns the behavior you want to change. Shared contribution, security, support, and pull-request guidance lives in this organization's .github repository and is inherited by repositories that do not provide a more specific policy.
Campus facts and routing evidence belong in data. Product behavior belongs in gapwise. Android-specific implementation belongs in android. iOS-specific implementation belongs in ios. Public documentation belongs in docs. Keep changes focused and preserve the source-of-truth boundary.
Independent student software. Not affiliated with, endorsed by, or an official service of any supported university.
Built for the spaces between classes.