Work Experience

DataDogDataDog Logo

Software Engineering Intern

New York, NY
Jan. 2018 — Present
Implemented a persistent caching system for Homebrew, improving performance of the brew linkage command by 97%. Wrote a blog post detailing the analysis & optimization
(Ruby, SQLite3)
Designed and implemented an open-source, self-hosted server for managing Trello cards based on GitHub webhook events. The code is available on GitHub
(Python, Flask, PostgreSQL, Redis)

DoximityDoximity Logo

Software Engineering Intern

San Francisco, CA
May 2017 — Aug. 2017
Converted background job processes from resque to sidekiq in internal deployment tool, and implemented a redis-based locking mechanism for restricting the number of deployment jobs to one job per staging/production environment
(Ruby on Rails, Redis)
Implemented a service to lock merges into production GitHub repositories while deploys to production environments were locked through our deployment service, by sending status healthchecks to the GitHub API
(Ruby on Rails, Redis, GitHub API)
Developed a web scraper to query GitHub's GraphQL API to find potential hires for engineering outsourcing. Please see my blog post for more details:
(Ruby, PostgreSQL, re:dash)
Designed a visitor check-in system for external guests visiting HQ employees. Upon checking-in, the system would automatically send a slack message that the guest is here
(JavaScript, Slack API)
Created a service to query gem metadata from our organization's GitHub repositories, (important for seeing where security related vulnerabilities exist, caused by gem versioning issues)
(Ruby, PostgreSQL, re:dash, GitHub API)
Implemented a web interface for project managers to filter and aggregate pivotal tracker scrum stories based on state, owner, date since accepted, etc.
(Ruby, Sinatra, PivotalTracker API)

Vena SolutionsVena Logo

Software Developer Intern

Toronto, Ontario
Sep. 2016 — Dec. 2016
Optimized SQL queries in a REST API by solving an n+1 query problem instance, fetching lazily loaded object members before object serialization, decreasing mean response time by 99% (~1m to <1s) for the endpoint
(Java, MySQL, Hibernate)
Placed second in pair test-case writing competition involving all developers at the company (~60 people), judged by the quality and quantity of test cases written
(Java, JUnit, Selenium)
Extended internal command line tool to automate API tests in parallel, by threading the execution of tests
(Python, Node, Mocha, Postman)

CoupgonCoupgon Logo

Front-end Developer

Toronto, Ontario
Jan. 2016 — Apr. 2016
Developed an internal store analytics application which dynamically generates store maps to monitor the flow of users in a grocery store, based on JSON data from a RESTful endpoint
(Angular2, TypeScript)
Created an embeddable user interface for displaying weekly coupons to exhibit on our partners' websites
(CoffeeScript, EJS, SASS)
Implemented a custom testimonials page with cross-fade animations for text and images using JavaScript fade-ins
(CoffeeScript, Haml, SASS)

Open Source Experience

FastlaneFastlane Logo

Continuous Integration
Feb. 2018 — Present
Core contributor to Fastlane Tools, helping build mobile-first continuous integration
(Ruby, Sinatra, Angular, TypeScript)

CalderCalder Logo

WebGL Shader Language
Sep. 2017 — Present
Designing a library for safely constructing and integrating WebGL shaders
(ScalaJS, WebGL, JavaScript)
Developed a prototype and proof-of-concept in TypeScript, by creating an abstract-syntax-tree module providing builder classes to implement vertex and fragment shaders
(TypeScript, WebGL, JavaScript)

ConductorConductor Logo

Distributed Scheduling System
Sep. 2017 — Dec. 2017
A distributed job management system for registering workers, and scheduling jobs to execute on them, allowing for conditional scheduling based on job status and output
(Ruby on Rails, PostgreSQL)

EmeraldEmerald Logo

HTML5 Templating Engine
Sep. 2016 — Present
Co-designed and implemented a whitespace-delimited, language-agnostic, HTML5 templating engine with support for variable scoping, interpolation, iteration, and conditional logic
(C++ & Boost, Ruby)
Developed an emacs major-mode package for the templating language which includes a syntax highlighter, based on regular expression grammar rules
(Emacs, Emacs Lisp)
Implemented a minimum viable product and proof of concept as a Ruby gem
(Ruby, RubyGems)

Volunteer Experience

EngSocEngSoc Logo

Vice President, Academic

Waterloo, ON
Sep. 2016 — Dec. 2017
Coordinated professional development events for hundreds of engineering students such as tech talks, career fairs, résumé critiques, and interview skills workshops
Advocated for undergraduate engineering students on university and faculty committees for issues related to academics, co-op, and professional development