Open to opportunities

Hi, I'm Zachary

> /about

I'm an undergraduate studying Computer Science and Mathematics at UBC, with hands-on experience across data analysis, full-stack development, and iOS engineering.

I like building things end-to-end — from a SwiftUI app with real-time system integrations to a TypeScript prototype backed by real UX research. I care about writing code that's correct, clear, and doesn't need a rewrite in six months.

Languages

  • TypeScript / JavaScript
  • Swift
  • Java, C++, Python

Tools & Frameworks

  • Next.js, React, Tailwind
  • SwiftUI, ActivityKit
  • Figma, Git
const zachary = {
  name: "Zachary Li",
  role: "CS & Math @ UBC",
  base: "Vancouver, Canada",
  focus: ["Full-stack dev", "Data analysis", "iOS"],
  stack: [
    "TypeScript / Next.js",
    "Swift / SwiftUI",
    "Java, C++, Python"
  ],
  currently: "Data Analyst Co-op @ DarkVision",
  sayHi: () => "Let's build something."
};

> /projects

Live, embedded demos — no download or screenshots needed. Try them right here.

OffClock

Dynamic clock-out calculator for iOS

A premium iOS utility for professionals with flexible schedules. Dynamically calculates your exact clock-out time in real-time, factoring in break deductions, calendar-synced OOO events, and Dynamic Island / Live Activities.

  • Recomputes clock-out time every second from stored timestamps — survives a force-quit with zero drift
  • Dynamic Island + Live Activities surface live status on the lock screen without unlocking
  • EventKit-aware: auto-shrinks target hours around calendar OOO / time-off events
SwiftSwiftUIActivityKitWidgetKitEventKit

Flymingo

Smart flashcards for collaborative studying

A functional TypeScript-based high-fidelity prototype supporting deck creation, spaced-repetition scheduling, and collaborative studying — validated with real UX research before a line of production code was written.

  • Deck creation and spaced-repetition scheduling built from scratch in TypeScript
  • Collaborative decks so study groups can share and review together
  • De-risked with low-fidelity prototypes and Wizard-of-Oz testing before the full build
TypeScriptHTML/CSSFigmaUX Research

More builds

Gym Bro - Workout Tracking App

A Java workout tracking application enabling users to log exercises and visualize progress. Implemented persistent JSON-based data storage for seamless session-to-session state recovery.

JavaJSONIntelliJ

> /experience

Data Analyst Co-op

DarkVision Technologies | Jan 2026 – Present

Analyze high-resolution ultrasound imaging data to identify critical pipeline defects. Utilize proprietary 3D visualization software for detailed renderings. Support Generative AI development via QC and data filtration on large-scale datasets.

Online Data Analyst (Freelance)

TELUS Digital | May 2025 - Oct 2025

Conducted large-scale content relevance evaluations to improve the accuracy of digital maps, search results, and media recommendations. Applied contextual and cultural understanding of Canada.

Undergraduate Teaching Assistant I

The University of British Columbia | Jan 2025 - Aug 2025

Courses: CPSC 121 (Models of Computation), CPSC 221 (Algorithms & Data Structures). Delivered weekly labs and office hours, helping students understand logic circuits, recursion, C++ debugging, and core data structures.

Sales Associate (Part-Time)

Moose Knuckles Canada | Oct 2023 – Dec 2024

Assisted 100+ customers daily in selecting premium outerwear, executed POS transactions, managed inventory, and contributed to meeting monthly sales targets through upselling.

Barista (Part-Time)

Blackball Taiwanese Dessert | Jun 2023 – Aug 2023

Prepared high-quality beverages and desserts, managed inventory during peak hours, and provided friendly and efficient service to 100+ customers daily in a fast-paced environment.

> /education

University of British Columbia

In Progress
B.Sc., Computer Science & Mathematics
Data Structures & AlgorithmsModels of ComputationLinear AlgebraSoftware Engineering

> /contact

Looking for a software engineer, data analyst, or full-stack dev? I'm actively interviewing and always happy to talk about a role or a project.