I'm often playing with new technologies, whether it be poking around Elm tutorials, making Flexbox playgrounds, or experimenting with new async control methods. I'm also particularly interested in scientific modelling of complex systems, whether that means building an Agent Based Model or a mathematical exploration of dynamical systems.
I have ten years of professional experience in frontend development: building user interfaces, front end architecture, and working in teams to deliver enterprise and consumer products in fast iterations.
- CSS / LESS / SASS
- React / React Native
- Unity Engine
- Git / SVN
I was hired as the sole UI developer for a startup building a mobile application using React Native, where I worked with a designer and a backend developer to build the application from the ground up.
Contracting comes with a continuous stream of interesting projects, from small to large, so I'm always working on something new.
I created a styleguide and living documentation for Sass styles and React components to encourage code reuse throughout the site. This was done as a custom NodeJS application that would render live components with specs and examples of Sass mixin and variable usage.
As team lead, I interfaced with product managers and other stakeholders about incoming features or product changes to consult on feasibility or timelines, and helped limit internal team processes (maximizing developer time) and encouraging cross-team communication and knowledge sharing.
Migration to React
We created and deployed an isomorphically rendered application framework to be used by ourselves and other internal teams for the migration of an existing site into React.
While working on a continuous build system for a redesign, I realized that there was no webpack loader for Google Closure, the templating system used by our development team. I decided that this would be a nice project to learn more about webpack's internals and built an open source loader for soy templates and published it to NPM.
Mobile Web Application
For an upcoming greenfield project, I was tasked with bootstrapping the project structure, tooling, and patterns. We are now developing the project based on a composable CSS components and a fully animated interface using CSS 3, Backbone, and Marionette.
In building different personal and professional projects I found a dearth of tools to help build styleguides maintainable by those who consume and update them: designers and developers. I decided to write a tool which would take an HTML 5 document containing composible code patterns and render those patterns live with the brand CSS.
To help support tracking automated marketing campaigns, we used D3.js and vector based graphics, abstracted into a jQuery plugin to render charts with custom animations for our specific needs.
When tasked with building a UI for editing web pages a designer and I planned and built a drag and drop WYSIWYG tool where users could build a web page from scratch, loading images and writing in movable components.
Asynchronous Login UI
I worked as a lead front end developer on a team to upgrade the client's website login to be asynchronous, where I was responsible for suggesting the optimal asynchronous technique and building the UI and three custom jQuery plugins to handle it.
I acted as the sole front end developer in a push to optimize one of the client's websites. My responsibilities included implementing optimization best practices (image sprites, parallel HTTP requests, etc.), and assisting with site maintenance and code QA. I was responsible for making the recommendations and implementing the code changes.
Operation Enduring Freedom
While in Afghanistan I gained leadership experience as my cell's chief at the provincial level, was able to help in medical facilities to translate and care for injured Afghans, and was nominated for a Bronze Star and awarded an Army Commendation Medal. In my free time I wrote Python and Visual Basic programs that worked in conjunction to automate time consuming tasks.
Custom Content Management System
I led front end development and assisted with back end development of a custom, multi-language (12+) and multi-site CMS. My responsibilities included initial framework development (PHP), helping define functionality requirements, leading front end development, and screening candidate web developers.