My Purpose

I enjoy working and communicating with people to help them solve their business problems with professional solutions. On every project I bring a unique skill set based on my education and experience in both technical and inter-personal areas.

My Role

I work as a Professional Services Developer for an amazing Social Intranet called ThoughtFarmer. Together with a team of ingenious and hardworking colleagues at OpenRoad, we help our clients make work better.


My Story

commodore_vic_20_logoMy interest in computers and programming began early. My first job was when I was nine years old at a neighbour's chicken farm collecting eggs. The sole purpose of this job was a deal with my parents to get half the amount for my dream machine and they would pitch in the rest. At that time it was a Commodore Vic-20 and it was everything I could have hoped for. I earned that money and got my new technological marvel. There were countless hours spent playing games, and learning BASIC. Since then I've never looked back.


2_2016_ubcnarrow_signature_bluergb72I grew up in a close-knit community. This inspired me to originally pursue a career in Psychology with an emphasis on counselling and helping people. However, after 2 years I realized that I missed my earlier fascinations in the computer realm and decided to change my course. A few years later I graduated with my Bachelor of Computer Science from the University of British Columbia.

Skills & Expertise

I've worked with many tools and technologies over the years. I continue to strive to learn new things, as my blog will show. However, I am most proficient in the following:

Front end development


I work extensively with clients to develop the custom features they wish to add to ThoughtFarmer. This involves working with UX and design teams (either theirs or OpenRoad's) in order to implement a feature that is functional, easy to use, and looks great. For smaller projects I may also be the one to come up with the mockups and design for implementation.

Custom components are typically React based and will extend our core ThoughtFarmer React library that implements a Flux style architecture. They are a combination of custom API handlers, CSS and JavaScript. I utilize my own Grunt tools to compile the jsx, package the customizations and deploy them to wherever I need.

In previous versions of ThoughtFarmer I used Razor templates and jQuery extensively to implement customizations.

Back end development


ThoughtFarmer is an ASP.NET MVC and WebAPI application built on .NET 4.5.2. One of the great things about working with ThoughtFarmer is that I get to be Full stack. Core development tasks and bug fixes are a regular part of my job. Upcoming soon I hope to rebuild our public facing REST API using tools that will allow for auto generation of documentation and client APIs.

ThoughtFarmer is also built on SQL Server for data retention. So writing and optimizing queries, database and server maintenance, as well as backup strategies are all part of my regular tasks.


Tools and Administration


I manage version control of all my projects and changes through Git integrated with Jira and Stash. These tools are amazing together at tracking bugs, features, branches and pull requests. I also created a unique set of deployment tools using Grunt and other Node packages like Babel and grunt-prompt.

I continue to help our client support team with 3rd tier support and help oversee our Cloud data center. This means configuration and Administration of Windows Server 2008+ along with IIS, Active Directory and other core Windows features.