Skip to content
View andrewmuratov's full-sized avatar

Highlights

  • Pro

Organizations

@GapwiseHQ

Block or report andrewmuratov

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
andrewmuratov/README.md

Andrew Muratov

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 Gapwise GitHub ORCID

Portfolio · Gapwise · Developers · Docs · Data · AI · Status


About

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.


Gapwise

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.

Universities with timetable import

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.

What Gapwise includes

  • 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.

Gapwise ecosystem

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

Developer surfaces

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.


Engineering

Languages

TypeScript · JavaScript · Python · Kotlin · Swift · SQL · Bash

Platforms & tools

React · TanStack · MapLibre · Supabase · Bun · Vercel · Cloudflare · Resend · OpenAPI · MCP · Jetpack Compose · SwiftUI · PostgreSQL · GitHub Actions · Linux

What I optimize for

  • 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

Beyond Gapwise

My broader interests include computer science, information security, mathematics, research, technical writing, and software tooling.

Pinned Loading

  1. GapwiseHQ/gapwise GapwiseHQ/gapwise Public

    Free and open-source multi-university timetable, campus navigation, and student planning platform.

    TypeScript

  2. utm-shell utm-shell Public

    Minimal SSH and Bash setup for UTM lab machines.

    Shell