• JS/Rails/Node
  • HTML5/CSS3
    • and DSLs
  • Android/iOS


  • Docker/Vagrant
  • Varnish
  • Capistrano/CI
  • Apache/Nginx
  • MySQL/Postgres


  • GitHub Issues
  • Trello/JIRA
  • ToDo Lists


  • Illustrator/Inkscape
  • Photoshop
  • Sketch
  • Pen & Paper



Define the problem.

What is the problem or need? Who has it, and why is it important to solve? I want to make sure you’re working on something with the highest return on investment.

Decide your goals.

This is related to the problem definition, but comes from a different angle – what does success look like to you? More traffic? Higher conversions? It’s important to determine targets towards which to work.

Design the solution.

Without strategy, goals are merely dreams. That doesn’t mean the strategy can’t evolve – but it should start simple. With liberal use of whiteboards, paper and rapid prototypes, we can quickly determine the best course of action.

Develop what you need.

Finally, using technologies and strategies informed by the previous steps, development begins at full speed until your goals are met.

Selected Experience

with PairShaped


I got to be a part of the QMJHL redesign that launched earlier this year. Notable points about this project was the use of a modern WordPress stack, including Bower, Gulp and Sass. The stats widgets were also built using React.JS to fetch data from a third-party vendor.


with MRX


I joined MRX at the height of their development of a custom content management system that powered not only the league site, but also all of the team sites. In addition to the backend work I templated many of the components for the front-end, styling them on a rolling basis as teams migrated onto the new system. I learned what it takes to serve a website that can handle traffic such as that during the Grey Cup every year.

Let’s work together.

Connect with me on LinkedIn or get in touch directly!