I am a software engineer working for the music streaming company, Rhapsody in Seattle, WA. I graduated in 2012 with a degree in electrical engineering from the University of Waterloo, Canada.

My interests largely revolve around technology and software development. Programming languages I like are Ruby and Javascript.

Projects

I am currently working on Pingkerton. App servers hosted on Heroku and AWS will become idle when the server is inactive for a certain period of time. This causes app to have a lengthy initial load time when it restarts. To avoid this, every 30 minutes, Pingkerton will ping your app. This ensures that your apps stay awake. Pingkerton is my first attempt at building a SaaS application. It contains all the basic features you would see in a SaaS app such as user authentication over HTTPS, password recovery flow, and user settings page. Pingkerton uses Ruby on Rails, nginx, Postgresql for main storage and Redis for application configuration caching. Pingkerton lives on Digital Ocean and I use Capistrano to deploy the app.

Dmtri is a forum with a strong focus on user anonymity. Imagine Reddit but where user can decide to hide their username sometimes when they want to voice unpopular opinions. Dmtri uses Ruby on Rails and PostgreSQL. It used to be hosted on Heroku.

serv / Supurl API and serv / Supurl web client together make a social bookmarking tool like Delicious.com. Supurl API provides the backend for Supurl web client. It is built using Ruby on Rails, Grape and PostgreSQL. Supurl web client is a single page application that uses Backbone.js and jQuery. Writing Supurl API helped me learn about REST API and its common practices. Supurl web client helped me learn to use Backbone.js more comfortably and gave me a glimpse into the complex ecosystem of javascript applications on web browsers. I also learned about OAuth 2.0 by rolling out my own highly insecure implicit flow for the OAuth system.

Youtube.md is a Chrome Extension that create a markdown code snippet when a Youtube video URL is given. I wanted to check out the basics of Ember.js by creating Youtube.md.

Attributa is a node.js package that helps you assign attributes to objects or this with just one line. This was my first attempt at creating a NPM package in order to try out Node.js.

serv / 4chanify is a Ruby gem that lets you download images from 4chan from your terminal.