About Me

Welcome! My name is Ryan, and this is my personal website. I am a recent graduate from the the Software Engineering program at the University of Waterloo in Canada. Most recently, I have worked at Postmates and Lyft. Previously, I have worked at A Thinking Ape, theScore Inc. and Paytm Labs. Through school, personal projects, and internships, I've gained experience working with C++, Python, Javascript, Ruby, C#, and Java. The frameworks I'm familar with include React, Django, Rails, Node.js, and Unity. I love technology, and I want to be able to develop software that works together with hardware to enhance and enrich peoples' daily lives.

Aside from computers and software, one of my longtime passions has been music, specficially the piano. I've studied classical piano for over 14 years, and I still currently play. I completed all the theory and practical requirements for the RCM ARCT's Diploma in Piano Performance in 2014. I've performed at numerous concerts and also participated in competitions as a solo pianist. My favourite composers are Chopin and Beethoven.

In addition to the piano, I've been playing clarinet for the past 8 years, and I've given performances, whether it be in the school wind ensemble or as a part of a chamber ensemble. In high school, I also played piano in the jazz band in addition to being the accompanist for the school choir. I was also on my school Music Council for three years, serving as a Vice-President in my senior year, and as Secretary for the previous two.


expand_less Mattermost

Mattermost is an open source, self-hosted alternative to the popular messaging app Slack, written with ReactJS and Golang. I've been a contributor to the project since August 2016, mainly working on the React web client. Some of the work I've done includes enabling an emoji picker when editing messages, allowing users to add reactions to an existing post, and creating confirmation modals for destructive actions.

expand_less Megaman

Megaman is my own version of the popular platformer made using Java and Object Oriented Programming. The game features a menu, instructions, credits, and scoreboard, with audio from the original game. The game itself consists of a playable and fully animated character, turrets, and randomly spawning enemies, with the goal being to progress through all the levels without dying.

expand_less WATWatch

WATWatch was a project that I worked on with four other classmates for one of our school courses. It is a simple functional smartwatch that takes full use of the hardware capabilities of a Tiva Launchpad Microcontroller and Orbit Booster Pack. WATWatch tracks time, steps, and calories burned in a session. In addition to displaying time, it also features an alarm, timer, stopwatch, and displays ambient temperature.

More of my projects are on GitHub.