My Work

Firefox Engineering Intern – Mozilla

May 2017 – Present

Firefox DevTools intern

I am currently working at Mozilla as a Firefox Engineering Intern on the DevTools team. During the summer, I worked on the CSS shapes highlighter: a new feature for DevTools that allows web developers to create and edit arbitrary shapes on a webpage.

CSS shapes allows developers to mask out parts of elements they don't want to display, and make text wrap around shapes and images on the page. The highlighter allows developers to edit CSS shapes, including polygons, circles, ellipses, and rectangles, directly inside the browser. Users can see the edited shape and the corresponding CSS code instantly.

As part of my internship, I did a presentation on my work on the CSS shapes highlighter, which you can view here (starting at 35 minutes).

I am returning this fall to continue to work on the DevTools team as an intern.

Software Developer Intern – CA Technologies

Sep 2016 – Dec 2016

Performance intern at CA Technologies' API Gateway team

In fall 2016, I worked at CA Technologies as an intern on the performance team at the Vancouver office, which is responsible for the API Gateway product.

For my internship, I used Node.js and PostgreSQL to design and develop an API and web app to store, analyze, and display performance test results for CA Technologies products, in order to serve as a centralized repository for all performance test results and allow for clearer presentation of results. The API consumes data from JMeter, LoadRunner, and custom scripts, and produces test summaries, graphs, and comparisons to previous tests. The new API allows for results from nightly and weekly automated performance tests to be automatically uploaded, visualized, and compared to benchmarks and previous test results.

I was fully responsible for the design and implementation of all aspects of the database, API, and web app, and worked closely with the performance testing team to ensure that all necessary features were included.

Co-op Web Developer – Move, Inc.

May 2016 – Aug 2016

Web developer for's Local pages

In the summer of 2016, I worked as a co-op web developer at Move, Inc., working on's Local pages, which display housing market and education information for every neighborhood, city, ZIP code, and school in the United States.

Using primarily Ruby on Rails for front-end development and Node.js for back-end and API development, I worked full-stack to add new features and improve existing features on Local pages. This included neighborhood tagging, market trends comparison, and integration with's community forum. These features helped provide greater depth of information to home buyers and created opportunities for community engagement on Local pages.
My main project for my four month term was neighborhood tagging, which allows users to vote on tags for a neighborhood to give home buyers a brief idea of the neighborhood's characteristics. For this purpose I developed an API in Node.js using AWS's DynamoDB as the database, a tool to populate and manage DynamoDB tables in Node.js, and the front-end user interface in Ruby on Rails.

Undergraduate Teaching Assistant – University of British Columbia

Sep 2014 – Apr 2016

Teaching assistant for CPSC 110: Computations, Programs, and Programming, CPSC 210: Software Construction, CPSC 213: Introduction to Computer Systems

I worked as a teaching assistant for CPSC 110: Computations, Programs, and Programming and CPSC 210: Software Construction, and most recently, CPSC 213: Introduction to Computer Systems. As a teaching assistant I am responsible for leading weekly labs and holding office hours to answer student questions, as well as answering questions online, grading exams, labs, and assignments, and invigilating exams.

Smash Bros. Executive – UBC eSports Association

Sep 2015 – Present

Livestreamer and tournament organizer

As a Smash Bros. executive for the UBC eSports Association, I and a team of other executives are responsible for organizing, coordinating, and promoting UBC eSports Association's Super Smash Bros. tournaments, which regularly draw over 100 entrants and are the biggest such tournaments in British Columbia. I am also responsible for livestreaming the tournaments on sites such as Twitch and Afreeca, using my livestreaming software NodeCG for Smash.

YouTube playlist of my livestreaming work at Kings of Vancouver III