Programming Languages

Markup Languages




Work Experience

Cyphrs - Consultant

July 2014 - January 2019

Consultant for a startup developing hardware security module solutions for consumers looking to safely spend and store cryptocurrencies, and merchant terminal solutions for businesses looking to accept them in return.

tBarter Inc. - Lead Developer & Designer

October 2013 - November 2015

Designing and implementing an eCommerce site that allows people to buy, sell, or trade their own items using cash, PayPal, or Bitcoins. The site is developed using Ruby on Rails / PostgreSQL, HTML5, and CSS3 (using SASS), hosted on Heroku, and is fully responsive.

LearnBest Inc. - Lead Developer

November 2011 - December 2018

Designed and built a white-label platform for partner online learning institutions, used by tens of thousands of students across the globe. The platform uses Ruby on Rails and PostgreSQL, along with Stripe (institutional payments to LearnBest) and PayPal (student tuition payments to their enrolled institution), and is hosted on Amazon Web Services (using S3 / RDS / EC2).

Projexity - UI/UX Developer

May 2012 - May 2014

Working with co-founders Nicolas and Marisa, both graphic designers, I help to turn their designs and sketches into an elegant website that provides a responsive user experience across multiple devices and platforms. Developed using HTML5, CSS3 (using LESS), and JavaScript.

CanYouRecall? - Designer / Front-end Developer

July 2012 - May 2013

Created the overall branding, logo, and site design for CanYouRecall, a site that helps students to more effectively prepare for tests and exams. Developed using HTML5 and CSS3.

SurfEasy Inc. - Junior Developer (Intern)

June 2011 - August 2011

Helped to develop a Mozilla Firefox browser extension for SurfEasy’s flagship product, using XUL, JavaScript, and C.

Brave Commerce - Graphic Designer (Intern)

May 2011 - August 2011

At Brave Commerce, I designed MMS ads and designed / helped develop a mobile site that allowed users to purchase deals on their phones and be billed directly via their carrier. I also co-designed the web portal for the Rogers Mobile Offers service, which was exclusively for mobile devices.

Alex Freedman's 2010 City Council Campaign - Creative Director

May 2010 to October 2010

Designed a website for Alex Freedman’s bid for Toronto city council, 2010, along with a logo, stationary, and other campaign media.

Freelance Web Designer

June 2008 - Present

Independently designed and/or implemented websites for a variety of clients, using either XHTML1.1 and CSS2 (earlier) or HTML5 and CSS3 (later).

Significant Personal Projects

Internet of Things (untitled project)

I'm currently developing a system for controlling electronic devices (lighting, HVAC, etc) inside a home and autonomously making decisions for those devices based on relevant data collected from a variety of sensors.

My platform is written in a mix of languages, given the broad specifications and hardware that it interacts with. Ruby on Rails, PostgreSQL, Redis, nginx, and Node.js are used to power the core interface / platform itself, with React.js + JSX used for the frontend. Ruby/AppleScript (macOS data collection), Java (wrapping native Android system calls into a WebView, so React can interact with them), C (custom Arduino-based sensors), PowerShell (Windows client keepalives), Ash (embedded Linux hardware scripts), and Node.js are used for smaller components.

Reverse engineering or documented API experience on this project includes Insteon, Ubiquiti mFi, Philips Hue, Sony Bravia, Vizio SmartCast, LIFX, Google Cast, IMAP, Nextcloud / Owncloud, Particle Photon, matrix-synapse, vCard, iCalendar, and IMAP.

More information, including pictures, is available here.

Japanese Language Study Tools

I run this website, which is a collection of tools to help people learn and study for the Japanese Language Proficiency Test (JLPT). While the tools are primitive and only cover JLPT N4/N5 (N3/N2/N1 coming soon), I found that they filled a significant gap in existing study tools.

Word lists, as well as certain study tools, exist for each level. However, programs to test for other things don't exist, including:

Mobile App Development

In May of 2012, I created three applications for Windows Phone 7.5, called DineSafer, JLPT Flashcards, and Crossworder, using C#. During January of 2013, DineSafer and Crossworder were ported from scratch to BlackBerry 10, using Qt Cascades, QML, JavaScript, and C++.


I designed and co-developed, along with Xingzhe (Travis) Lu, a program to teach people to play various musical instruments with the assistance of a computer. Using a custom hardware sensor in conjunction with an Atmel AVR that's attached to a musical instrument, Symphonary allows the player to see (in real time) what fingerings they're pressing on their instrument, and receive a numerical grade based on their performance.

Symphonary's client is written in C#, using WPF for the GUI components, while the hardware runs code written in C. More information, including source code and images, is available here.


SimplePost was a free service that allowed you to send physical letters to your elected federal officials. A user could enter their message and address, which would find their region's MP, senators, and other cabinet members, and the site would create physical printable letterhead made out to each individual that the user picked. Because letters to the federal government don't require stamps, the site allowed you to easily send paper letters (which are generally regarded as being more effective compared to email), without the use of stamps or envelopes, thanks to the magic of origami.

I designed the site and branding, and co-developed the frontend, using CSS, XHTML, and JS.

The service is currently down due to technical issues with certain dependencies, but I hope to relaunch it at some point in the future. More details, including, screenshots and a more elaborate summary are available here.

Press Coverage

'Dormcubator fosters digital entrepreneurs' - The Globe and Mail

'A time-lapse video of every stop on the YUS subway line' - blogTO

'Extra, Extra: Lake Shore and TTC Get Sped Up...' - Torontoist

'U of T, Ryerson and Humber Students Among 10 Finalists in OCE's Social Enterprise Student Competition' - MarketWired

'The top 10 Toronto viral videos of 2010' - blogTO

'2013 Competition Finalists' - Ontario Centres of Excellence


Winner, Nokia Ready.Set () {Code} Hackathon - Student Developer (2012)

Volunteer Experience:

Forest Hill Collegiate Institute

September 2007 - June 2010

Performed system management and maintenance for dozens of machines, and front-line technical support / software training for library and art department users.