Portfolio


National Post

As part of the Audience team, I write and maintain the front-end JavaScript code libraries responsible for Analytics, User Sign-In and Registration, and Machine Learning.

It's a lot of fun because it allows me to learn a lot of systems in general and pushes me to find elegant solutions which must be solid and cannot break compatibility amongst the dozens of sites and properties that the code is executed on.

One of the constraints of the code I write is that it must be supported on as many browsers as possible to accomodate all of our readers. Therefore, I only write in ES5 compatible JavaScript using only libraries written by our team with very few external libraries. This has led me to appreciate JavaScript so much more and has allowed me to see that by sticking with the good and solid parts of JavaScript, I can write clean and efficient code.

Technologies Used:
  • JavaScript (vanilla ES5 implementation for compatibility purposes)

My Expense Journal

My Expense Journal is a Web Application that I created with React, Redux and Firebase and hosted on Heroku. It came from my frustration with other ways of tracking my expenses. I wanted something simple that I could use on my Desktop and on my Phone.

Another reason why I built this was because I wanted to build and maintain a "real world" Web Application with technologies that I wanted to be fully comfortable with. Although I was comfortable with React, Redux, CSS3, etc. when I built this application, I wanted to gain further insight and skill with Security, Hosting, Administration and Support of a Web Application with real world customers.

Last, I just really wanted to push myself to build a tightly scoped application within a realistic time frame. Then finish it and launch it into the world. I feel that this whole process is important for a Developer to go through because it provides insight into ALL facets of Software Development. I feel that the one skill that trumps knowing the latest and greatest JavaScript framework, or a complicated algorithm is: to ship something.

Technologies Used:
  • React
  • Redux
  • Webpack
  • Firebase
  • Heroku
  • HTML5
  • CSS3

Totem Teardown

Totem Teardown was a game I made in 24 hours at the 2015 Global Game Jam. I went to the UBC campus and met up with some other developers and designers. Not only was it a great bonding experience, it helped drive home the idea that shipping a finished product and ruthless scope management are THE keys to a succesful project. We created the game in pure JavaScript.

I am really proud of this game because I learned so much from this experience. I am a very strong proponent of learning more skills than just knowing the JavaScript framework of the day, or the newest and fanciest functional programming language. I feel strongly that soft skills like teamwork, scope management and collaboration are as important, if not more important than just raw technical skill.

Technologies Used:
  • JavaScript
  • Gamepad.js
  • HTML5
  • CSS3

Infinite Runner Game

This is an Infinite Runner game that I created in JavaScript. It was a proof of concept to see how easily I could port the game to other platforms. I created builds for iOS, Android, Windows, and Mac OS. The game was very performant across the different platforms. The version on this site is the mobile version.

Technologies Used:
  • JavaScript
  • Phaser.js
  • HTML5
  • CSS3
rss facebook twitter github youtube mail spotify instagram linkedin