About Me

Web Application Developer

I am a full stack developer working with a variety of languages and technologies. I generally work with back end services in Node.js, PHP or Rails and multi-device front end in React.js or Angular.js. I've architected, developed and/or worked on a variety of large scale web applications as a service (SaaS) since 1998 including Cats Application Tracking System, Caringbridge, Sportsdigita and currently Field Nation.

My experience also includes mobile app development in Objective C and extensive data experience working with big data, building ETLs, visualations and migrations. I was the chief architect around two major production MySQL to MongoDB conversions that I'm particularly proud of having performed successfully with almost zero downtime using on the fly two-way replication between the transactional and object databases.

I try not to tie myself to any particular language, framework or tool -- I'm always open to discovering new tools and technologies and applying them to difficult problems. I'm particularly fond of the Node.js ecosystem as of late, especially with React.js. I've also shifted recently towards microservices and utilizing the power of containers for large scale applications.

While I am full stack, I find the most enjoyment developing multi-device user experiences on the front end and working with big data to drive engagement and retention. I work almost excusively in open source languages, libraries and frameworks. I've created and lead development on several open source projects and try to contribute back to libraries I use whenever I can.

I am a frequent speaker at the Minnesota PHP and the Software Engineers user groups where I present on a variety of topics. I recently joined the MN Node.js group and plan to speak there are nationally soon as well.

I'm a father living in a southern suburb just outside of Minneapolis, MN with my wife and daughter. Outside of software, you'll find me in my woodshop where I enjoy building furniture and working on projects for my house.