A front-end developer from Canada, living in Sunnyvale, California.
I use HTML5, CSS3 and JavaScript to create great user experiences.
July 2011
The development team at Norton needed a way to track server downtime/uptime and display it on a giant LCD screen with real-time updates.
PHP and mySQL was used to collect server data and a simple REST API exposes the data in JSON. Using JavaScriptMVC, I created a controller, model and views to power the dashboard interface. The controller was coded so it could power any type of widget given a model and a corresponding view. It now glows on a 52-inch LCD screen in the office and is the envy of our anylytics department.
See it in action
February 2011 - Present
I am currently one of two front-end architects for Norton's eStore. It is a global eCommerce site that has millions of visitors a day and generates nearly $2 billion in revenue a year.
During my time at Norton I have helped research and develop awesome front-end solutions. I am most proud of adding JavaScriptMVC into the eStore code base and subsequently refactoring almost all of the eStore's widgets so they were JavaScriptMVC controllers. I also pushed the adoption of DocumentJS as our code documentation tool. I am now working on increasing the use of functUnit and qUnit in our code as well as transitioning to EJS views and someday models and stealJS.
Visit the Norton eStore
June 2011
I had to build a checkout form that used input placeholders, front-end form validation and displayed error bubbles.
I used JavaScriptMVC and created four controllers: placeholder, input, message bubble and error bubble (a sub controller of message bubble). The controllers are now part of a new checkout flow for Norton's eStore.
See it in actionSeptember 2011
The optimization team at Norton wanted to reduce the amount of flicker that occurred when they manipulated the DOM using Test & Target. Regular DOM manipulation was too slow and hiding the body until an element was manipulated increased the page's perceived load time.
I co-wrote a jQuery plugin that allows a DOM element to be manipulated before the DOM is ready. It is markedly faster than regular DOM manipulation and has performed well in the few tests we have run. I'm still testing the script and have some enhacements I want to make before this plugin is widely used.
View it on GitHubJuly 2011
Came across d3.js one night and decided to create a polar clock that I have been using as a screen saver recently.
Dug into the tutorials and some examples and then coded a few time functions that convert time into radians. Won't be working on this anymore, but I would have cleaned up the code (DRY) and worked on adding labels to each bar.
See it in action
As a front-end developer, I am constantly learning new techniques and absorbing as much as I can from all of the resources I have available. I frequently attend meetups in the bay area and attend conferences.
I have a BS Computer Science from the University of Waterloo in Canada and am currently living in Sunnyvale, CA working for Norton as a Principal Web Developer (architect).
I'm available for freelance work. Contact me if you have a cool project that needs a front-end developer.