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.
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.
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).
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.
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.
Helped to develop a Mozilla Firefox browser extension for SurfEasy’s flagship product, using XUL, JavaScript, and C.
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.
Designed a website for Alex Freedman’s bid for Toronto city council, 2010, along with a logo, stationary, and other campaign media.
Independently designed and/or implemented websites for a variety of clients, using either XHTML1.1 and CSS2 (earlier) or HTML5 and CSS3 (later).
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.
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:
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.
'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)
Performed system management and maintenance for dozens of machines, and front-line technical support / software training for library and art department users.