Building the developer platform, database tooling, and product apps used across the company.
Built a zero-config developer platform and Deno CLI used by 500+ engineers. It automates scaffolding, dependency updates, and provisioning, cut setup time by 90%, and halved onboarding time.
Designed a managed database layer for Prisma with secure credential vaults and multi-tenant PostgreSQL. Connection errors dropped 95% and production migrations got 10x faster.
Led an AI-powered survey and analytics platform (Nuxt 3, OpenAI) that tripled completion rates and became the default for every product team.
Co-architected a Vue 3 design system with 30+ accessible components, and rebuilt Keycloak user management with fine-grained permissions for 10,000+ users.
Deno
TypeScript
Vue 3
Nuxt 3
Prisma
PostgreSQL
Keycloak
OpenAI
Software Engineering Intern
-to
Backend infrastructure for large-scale data jobs, plus a company-wide Vue 3 migration.
Built bulk data processing infrastructure (NestJS, GraphQL, Redis, Elasticsearch) with job orchestration, self-healing service registry flows, and real-time job analytics. Ran at 99.999% uptime and cut incidents by 80%.
Migrated 5+ mission-critical apps from Vue 2 to Vue 3 and overhauled the design system with Storybook docs, cutting bundle size by 20%.
Ran the labs, assignments, and grading pipeline for CMPUT 201 and 301.
Designed 15+ assignments across C, Java, Bash, SQL, Android, and Git for 4,000+ students, with specs, rubrics, starter code, and autograders.
Built Python and shell grading and plagiarism pipelines that handle 1,000+ submissions per assignment, cutting turnaround from 5 days to under 24 hours.
Led a team of 20+ TAs with weekly syncs, onboarding docs, and rubric calibration sessions.
Data pipelines and dashboards for a university admissions consultancy.
Built a Python and Selenium scraping pipeline that ingested 25K+ records from 2,500+ sources into PostgreSQL, replacing 800+ hours a year of manual research.
Shipped Pandas and Plotly dashboards used by 20+ counselors, halving the time to match students with programs.
Python
Selenium
PostgreSQL
Pandas
Plotly
Redis
02Projects
Things I've built
134 things, from a compiler to a karaoke machine that reads your brainwaves.
012025
gazlab.onrender.com
Featured
Gazprea Compiler + Gazlab
Team of 4 · CMPUT 415
A full compiler for Gazprea, a functional, immutable-by-default language, plus a browser playground to compile and run it live.
ANTLR4 → typed AST → MLIR → LLVM IR, with 8+ analysis passes and 2,000+ tests.
Personal finance dashboard that imports statements from five Canadian banks, learns how you categorize spending, and has an AI agent that answers questions about your own transactions.
Real-time multiplayer poker. A Rust server runs each table as a WebSocket state machine for 2-5 players plus spectators, with a chip ledger in PostgreSQL, a Vue client, and a Deno CLI.
Reads and injects the MP4/MOV metadata that 360°, VR180, and spatial-audio video needs, through a CLI, desktop app, Docker web UI, and in-browser tool. Built on Google's spatial-media.
Compiler for a vector calculator language with ranges, generators, filters, and scoped variables, lowered through MLIR to LLVM IR.
C++
ANTLR4
MLIR
LLVM
SCalc Compiler
2025 · Solo · CMPUT 415
Multi-backend compiler for an imperative language with loops, conditionals, and scoped variables. One pipeline interprets or lowers to RISC-V, x86, or ARM assembly.
C++
ANTLR4
RISC-V
ARM
PSRS Parallel Sort
2025 · Solo · CMPUT 481
Parallel Sorting by Regular Sampling with pthreads, sorting up to 3 billion elements across cores, with a visualizer for speedup and scaling.
Red-black and AVL trees in Rust behind one shared trait, with invariant checks, an interactive terminal tree editor, and a built-in benchmark mode.
Rust
Ratatui
Tartan Smart Home
2025 · Team of 4 · CMPUT 402
Smart-home platform for security, climate, and lighting. Our team added Dockerized continuous deployment, an A/B testing framework, SonarCloud quality gates, and system tests.
Event-driven greenhouse runtime: lights, fans, water, thermostat, window faults, and power loss fire on a shared controller, with crash restore, a Swing console, and a written test plan.
Java
Swing
Generator Language
2025 · Solo · CMPUT 415
ANTLR4 interpreter for a comprehension language: ranges, filters, and maps like [i in 1..10 | i * i] expand into concrete sequences at runtime.
C++
ANTLR4
Sorting Network Compiler
2022 · Solo · CMPUT 175
Metaprogram that emits another Python program: bubble and bitonic sorts compiled into fixed comparator networks with no runtime branches.
Python
Algorithms Arena
2023 · Solo · CMPUT 303
Fifty-plus judged solvers: graphs, strings, geometry, hashing, and the open pool. Each one is a standalone engine that had to pass hidden Kattis cases.
Python
Advent of Code 2022
2022 · Solo
A December of daily Python puzzles. Private notebook, but it was the year I got hooked on algorithmic problems.
Python
LC Grind
2023 · Solo
Interview-style Python solvers: arrays, anagrams, matrix rotation, and company online-assessment prompts, filed by difficulty.
Python
SQLite Index Benchmark
2023 · Team of 3 · CMPUT 291
Three live SQLite databases under competing index plans, timed query workloads, and plots that show which B-tree actually paid for itself. 98/100 with Ryan and Ashwin.
Python
SQLite
Music Dataset Engine
2023 · Solo · CMPUT 291
MongoDB analytics over a recordings corpus: songwriter counts, normalized vs embedded document models, and the same queries written both ways so you can see the cost.
Python
MongoDB
03Resume
My player card
The short version. Grab the PDF for the full story.
About
Most systems have one annoying part that everyone quietly learns to live with. That's usually the part I want to fix.
At People Inc. I build the developer platform 500+ engineers use every day, plus the database tooling and product apps on top of it. Through university I also spent three years as a lead TA for UAlberta's software engineering courses, writing assignments and autograders for 4,000+ students.
Off the clock I write compilers, build campus tools, and enter hackathons.