I build (and sell) add-ons. It’s one of the things I do and it’s something I’m really good at. I know ExpressionEngine and Craft like the back of my hand because I work so much with both systems. And my experience can benefit you.

Maybe you’re a front end-developer and don’t know anything about that “PHP” stuff. That’s perfectly okay. I’m here to help you do what you do best by doing what I do best.

In addition to the add-ons that I’ve built and sell, I’ve also built many custom solutions for custom websites — from inserting custom entry data to integrating members to managing data, I’ve built nearly every kind of add-on you can imagine.


They say the proof is in the pudding — or in this case, add-ons. And I have several out in the wild that I’m proud to point to.

  • Construct
    Construct provides a friendly page tree structure for navigation and pages in ExpressionEngine. It offers a drag and drop organization interface, friendly and intuitive page creation, well thought through template tags and much more.
  • Collective
    Collective offers a simple and convenient way to store global variables in ExpressionEngine in a friendly and editable way, and makes those variables available global to templates.
  • Field Limits
    Field Limits offers three field types in the ExpressionEngine control panel that focus on creating a better user experience. You can define limits for fields and the amount of characters you have typed and how many you have left are displayed nicely for you.
  • Pillster
    Pillster makes the ExpressionEngine status setting when creating or editing an entry more friendly. Point and click and you’ve set the status of the entry.


I focus on quality, stability, and most importantly, ease of use. The history of PHP is a little spotty when it comes to encouraging good coding practices, but I wholly support good coding standards, object oriented architecture, well documented code, and many other best practices.

If you don’t know what any of that means, that is totally fine. The takeaway for you should be that my code is lean and maintainable. And while I would hope to have an ongoing relationship with you should you hire me, sometimes things happen. With quality code, well documented, you won’t be left hanging.

Codes Well With Others

If you have an existing team and need me to step in and help — or maybe you’re a fellow developer and don’t have the time to get it all done — I work well with others. I’m fully supportive of Git version control best practices and how to leverage that in a team environment. And I’m a big advocate of Git-fow

I’ve had the privilege of both mentoring, being mentored, and just working with my peers and I love teaming up with great people.

So if you need help, don't be afraid, I can definitely help!

Get In Touch

So let’s get that conversation started. You can get in touch with me on the contact form.

Contact Me »