Computer Science @ University of Toronto · Information Security, Systems & Mathematics · Founder & Lead Engineer of Gapwise
I’m a first-year Computer Science student at the University of Toronto Mississauga and the founder and lead engineer of Gapwise, a free and open-source multi-university timetable, campus navigation, and student planning platform with timetable import for 28 universities and 74 implemented campus models across Canada, the United States, and France.
Portfolio · Gapwise · Developers · Docs · Data · AI · Status
I study Computer Science at the University of Toronto Mississauga, with a strong interest in information security, mathematics, systems, formal reasoning, and software architecture.
My work is centered on software where correctness and trust boundaries matter: deterministic planning and routing, source-backed real-world data, privacy-preserving application design, APIs and SDKs, native clients, developer tooling, and infrastructure.
I prefer systems with explicit contracts, conservative failure modes, clear ownership of truth, visible uncertainty, and privacy and security built into the architecture rather than added afterward.
Free and open-source multi-university timetable, campus navigation, and student planning infrastructure.
I created Gapwise around a simple problem: a university timetable tells you when class happens, but not how to use the time around it.
Gapwise turns a schedule into a campus-aware model of the day: what comes next, how much usable time exists between classes, where a student can realistically go, when they need to leave, and which campus the schedule belongs to.
Today, Gapwise has timetable import for 28 universities and 74 implemented campus models across Canada, the United States, and France. Timetable support, campus inference, university-specific editions, campus data, API/SDK contracts, documentation, AI/MCP discovery, and service monitoring are all built around a shared canonical registry.
Canada: University of Toronto, University of British Columbia, McGill University, University of Waterloo, Carleton University, Toronto Metropolitan University, Queen’s University, Wilfrid Laurier University, York University, McMaster University, Western University, University of Guelph, University of Ottawa, and Brock University.
United States: Carnegie Mellon University, University of California, Berkeley, New York University, Massachusetts Institute of Technology, Stanford University, University of Pennsylvania, Cornell University, Dartmouth College, Brown University, Columbia University, Princeton University, Yale University, and Harvard University.
France: Sorbonne Université.
Multi-campus universities are modeled as one university with canonical campus IDs and campus-aware routing/selection rather than requiring a separate public hostname for every campus. Dedicated campus editions are kept where they are useful, such as U of T’s Mississauga, St. George, and Scarborough editions and UBC’s Vancouver and Okanagan editions.
- university-aware timetable import, parsing, and campus inference
- gap detection, usable-time calculations, and leave-by planning
- canonical university/campus registry shared across the platform
- campus maps backed by source-traceable real-world data
- building search, building metadata, entrances, and pedestrian routing where verified data is available
- explicit partial-coverage handling instead of fabricated map or routing data
- public API and OpenAPI specification
- TypeScript and Python SDKs
- MCP / AI tooling for university, campus, timetable, building, and routing discovery
- native Android and iOS projects
- public documentation, contribution tooling, SEO/discovery surfaces, and service monitoring
Navigation coverage is campus-dependent: established campuses have richer building, entrance, and routing data, while newer or secondary campuses may currently have partial coverage. Gapwise Data is provenance-first and auditable, with source-classified entrances, route evidence, schemas, and contribution tooling; limitations stay explicit rather than being filled with fabricated geometry or routes.
| Repository | Role |
|---|---|
gapwise |
Canonical web/PWA, timetable intelligence, campus inference, planning, routing, public API, OpenAPI, and SDK source |
data |
Canonical university/campus datasets, schemas, provenance, validation, OpenStreetMap-derived geometry, and contribution tooling |
android |
Native Android client built with Kotlin and Jetpack Compose |
ios |
Native iOS client built with Swift and SwiftUI |
ai |
MCP/OAuth boundary and registry-aware AI integration |
docs |
API, SDK, architecture, security, data, routing, timetable, and AI documentation |
status |
Service-health monitoring and incident communication |
privacy-first · local-first · deterministic · source-backed · explicit trust boundaries
- App: gapwise.ca
- Public API: api.gapwise.ca/v1
- OpenAPI: api.gapwise.ca/openapi.json
- Developer docs: docs.gapwise.ca
- Campus data: data.gapwise.ca
- SDK: sdk.gapwise.ca
- MCP: mcp.gapwise.ca
- AI: ai.gapwise.ca
- Service status: status.gapwise.ca
The same canonical university/campus model is carried through the app, data, timetable adapters, campus inference, API, SDKs, MCP, AI, documentation, status monitoring, SEO, and machine-readable discovery surfaces.
The architecture follows one rule:
Canonical facts and deterministic calculations have an owner. Interfaces consume those contracts instead of inventing parallel truth.
TypeScript · JavaScript · Python · Kotlin · Swift · SQL · Bash
React · TanStack · MapLibre · Supabase · Bun · Vercel · Cloudflare · Resend · OpenAPI · MCP · Jetpack Compose · SwiftUI · PostgreSQL · GitHub Actions · Linux
- explicit security and trust boundaries
- deterministic behavior where correctness matters
- clear provenance and uncertainty for real-world data
- local-first behavior before requiring accounts or cloud state
- stable public interfaces and versioned contracts
- maintainable multi-platform architecture
- accessible interfaces that do not sacrifice technical rigor
- failures that are visible and honest rather than silently guessed around
My broader interests include computer science, information security, mathematics, research, technical writing, and software tooling.



