Equally at home writing code or growing the team that does.
I'm a software engineering manager based out of Ottawa, Canada. I thrive on leading teams to build world-class web applications, navigating both development and leadership to create superb user experiences.
Leading the Web Experience team building the React design system, front-end infrastructure, and org-wide navigation used across the company's products.
Individual contributor on the Enterprise team, building out our GraphQL layer and the UI experiences that let teams collaborate on shared accounts and surveys, before moving into management.
Full stack development on the Restaurants B2B team, scaling a video feature to tens of millions of requests and shipping billing, discount, and pricing tools.
Led the web technology modernization effort for the IP/Optical Networking department, moving 80+ developers onto a React foundation.
Built administration tooling for the BC Ministry of Transportation, including a national safety code system for commercial vehicle compliance.
Built venue modeling and speaker control software for a concert speaker company, spanning GUI, multi-threaded networking, and simulation.
Helped build a carbon emissions offset trading platform as a co-op student, porting widgets and visualizations from ColdFusion to a PHP RESTful API.
A curiosity engine for kids that turns "why is the sky blue?" into a guided, reading-level-adaptive learning session, built on the Claude API.
A webapp that helps groups agree on a restaurant by collecting preferences anonymously, removing the peer pressure to be flexible.
A log analytics and search dashboard showing how far you can get on a well-indexed Postgres table alone — no search engine or analytics database required.
A desktop app that opens any .gpx trail export and shows the route on an interactive map alongside the raw track points and an elevation/speed profile.
A fully raymarched, GPU-simulated lava lamp built from scratch in raw WebGPU and WGSL shaders — no rendering library, no mesh, no engine.
A web version of the board game "We're Doomed" with real-time multiplayer, built on boardgame.io with a Node.js server.
A fully functioning parody of Tripadvisor for reviewing potato chips, built as a joke that became surprisingly popular around the office.
A curated Persian-language flashcard app with a spaced-repetition-style selection algorithm and independent tracking of translation direction.
A work-in-progress budgeting app built with React/Redux and a Node.js/PostgreSQL backend.
A real-time collaborative todo list app with shared lists synchronized across users via GraphQL subscriptions and websockets.
A solver for the classic Dots and Boxes game using minimax search with alpha-beta pruning.
A tutorial-based project exploring GraphQL, Postgres, and React together.
An Angry Birds clone built in C++/OpenGL during a directed studies course, later used to teach a UVic programming class.
A Worms-style artillery game with deformable terrain built in GameMaker, first runner up out of thirteen teams in a UVic contest.
Volunteering
CISV
Junior Branch Adult LiaisonVolunteering with Children's International Summer Villages, from attending as a delegate at age 11 to mentoring the local youth steering committee as an adult.
Engineering Students' Society
Director of ServicesOrganized charity fundraisers and oversaw a sales and inventory system as Director of Services for UVic's Engineering Students' Society.