• PHP/Hack
  • JavaScript
  • Python
  • C++
  • Java
  • Ruby


  • React
  • Redux
  • Flux
  • Gatsby.js
  • Backbone
  • jQuery
  • Mocha/Intern/Karma
  • Sass
  • Node.js
  • Express/Koa
  • Rails

Other Technologies

  • Puppeteer
  • Webpack
  • MongoDB
  • PostgreSQL
  • Jupyter
  • Numpy
  • GraphQL
  • Apache Thrift


University of Waterloo

Candidate for Bachelor of Software Engineering, April 2019

Current Coursework

  • CS451 - Data Intensive Distributed Systems

Selected Coursework

  • ECE358 - Computer Networks
  • SE463 - Software Requirements
  • ECE454 - Distributed Computing
  • ECE458 - Computer Security

  • CS343 - Concurrent and Parallel Programming
  • CS348 - Introduction to Database Management
  • CS486 - Introduction to Artificial Intelligence
  • SE464 - Software Architecture

  • SE350 - Operating Systems
  • SE465 - Software Testing
  • CS341 - Algorithms II
  • CS349 - User Interfaces

Professional Experience

  • Facebook

    Software Engineer, Developer and Release Efficiency

    Aug 2019 - present

    • Working on the Developer Infrastructure - FBCode Developer Experience Team, focusing on the Continuous Integration and Testing aspects of the developer workflow for projects written in C++, Python, Java, Rust, etc.
    • Writing infrastructure in PHP/Hack and Python, dabbling in React/Relay
  • Facebook

    Software Engineering Intern, Customer Insights

    Sept 2018 - Dec 2018

    • Joined the Customer Insights - Knowledge Management team which owns the knowledge center and help articles for program managers and agents supporting advertising clients
    • Built the MVP for new announcements feature - a way for program managers to publish notices and announcements to agents that they manage within the knowledge center - using React/Redux and PHP/Hack
    • Added a prevention method to prevent multiple writes to the same article at the same time
    • Implemented GraphQL Subscriptions to notify users when another user is/has editing/edited the article that they are currently viewing
  • Square

    Software Engineering Intern, Caviar Engineering

    Jan 2018 - Apr 2018

    • On the 'Caviar for Teams' team, building delightful experiences for corporate diners
    • Progressed Caviar's corporate experience by creating new frontend features with React and Ruby on Rails and rewriting existing Rails templates in React
    • Rearchitected a more performant frontend by leading the migration off Flux to Redux, enabling optimized render cycles
    • Published the technical details on the migration on Square's Engineering Medium Blog here

    Software Developer Intern

    May 2017 - Aug 2017

    • Created new features for an internal management system using a functional-style React/Redux UI and modular CSS (Tachyons), with a Node.js/Koa backend
    • Added optimizations to performance by rewriting selectors and preventing unnecessary rerenders for components
    • Worked with the AWS infrastructure to debug server issues on EC2, and set up Node.js cron jobs on Lambda via Cloudwatch
    • Implemented unit tests in Mocha and Chai, using Enzyme to test React components and Sinon for spies
  • IBM

    Software Developer Intern, Cognos Analytics

    Sept 2016 - Dec 2016

    • Revamped the BI analytics dashboard with a new grid system used for rendering of large amounts of data to replace the old UI using Backbone and jQuery, reducing chart load time to under 1s
    • Implemented an efficient reuse of table elements for grid render, seamless scroll, cell creation and rendering, and keyboard navigation and accessibility
    • Deployed multiple UX changes, delivered critical defect fixes, and added Intern and Chai unit tests
  • TD Bank

    Solutions Developer Intern, TD Labs

    Jan 2016 - Apr 2016

    • Prototyped an application that can refer friends and family to TD Bank through social media sites using Express, MongoDB/Mongoose, and Facebook JavaScript SDK
    • Created a VR application using Unity3D and Cardboard SDK to accompany an existing TD application to teach children financial literacy
    • Explored emerging technologies such as web service workers/progressive web apps and Google Nearby API's for Android
  • Imagine Communications

    Full Stack Developer Intern

    May 2015 - Aug 2015

    • Implemented and designed features for Nexio software that enables broadcast television channels to queue commercials using React and Reflux
    • Set up an API endpoint with existing C#/.NET web service and connected to frontend
    • Delivered CSS/Less visual overhauls to create a richer interface


    • Artificial Intelligence, Design, Functional Programming, Learning, Search, Distributed Systems and Datastores
    • Academic experience with Apache Thrift, Hadoop, Spark, Zookeeper, Kafka
    • Acapella, Rock Climbing, NHL, Board Games, Magic the Gathering, Hip Hop Choreo, Running, Food, Broadway