Hi, I'm Stephen. I'm a Canadian indie game developer. I also build random websites.

I completed my Bachelor of Software Engineering (B.SE) in 2016 from University of Waterloo. I then studied under Patrick Lam and received my Masters of Mathematics (MMath) in 2019.

My masters thesis explores the process of automating student assignment grading through static analysis in LLVM.

Interesting stuff I've done in school:

  • Built the frontend for Sana medical procedure editor using Backbone.js and Marionette.js for my undergrad capstone project (2015 - 2016)
  • Wrote a ray tracer with refractions, bounded volume hierarchy optimization, depth of field, soft shadows, texture and bump mapping, etc. (July 2015)
  • Wrote an OS kernel for a Cortex M3 board (Mar 2014)
  • Wrote a MIPS compiler and assembler for a subset of C (Nov 2012)
  • Built a 2D scrolling shooter game with C# and XNA (June 2011)
  • Served as my high school yearbook's Editor-in-Chief (2010 - 2011)

Internships during my undergrad:

During my undergrad, I've alternated between four months of school and four months of internships (co-ops). This allowed me to gain real-world experience and to apply the theoretical concepts learned in class.

  • Rocscience (Jan 2015 - Apr 2015)
  • Lookout (May 2014 - Aug 2014)
  • IBM (Sept 2013 - Dec 2013)
  • 500px (Jan 2013 - Apr 2013)
  • Pilot Interactive (May 2012 - Aug 2012)