Work Hard. Run Harder.

I’ve been building on the web for over 20 years. Long enough to remember when “full stack” wasn’t a buzzword — it was just what you did if you wanted to ship.

I started in the trenches with PHP and Drupal, building sites for political campaigns where stakes were high, timelines were short, and failure wasn’t an option. I cut my teeth as a front-end themer — obsessed with pixels, performance, and the way small details change how people feel. Eventually, I stopped choosing between design and logic and became both. That’s when I went full stack.

As the web evolved, so did I.

I embraced the JAMstack early, dove headfirst into TypeScript, Angular, and React, and built with tools like Astro and Gatsby to create fast, resilient, modern experiences. I don’t chase trends — I learn what matters and use it to win.

Over the years, I’ve developed commerce solutions for brands large and small, partnering with agencies and internal teams alike. I understand how to ship clean code and how to ship outcomes. There’s a difference. I care about both.

Open source has been part of my DNA from the beginning. Two decades in, I still believe the best software is built in the open — and that the best developers never stop evolving.

But work is only part of the story.

Whether it’s code or miles, I’m wired for endurance — and I don’t show up unless I plan to finish strong.
— My Approach to Life

When I’m not building for the web, I’m building a life with my wife, Abigail, and our springerdoodle, Sprint — who has more energy than most startup founders.

I’m a runner. The kind who signs up for the long route on purpose. I’m drawn to the outdoors, to movement, to pushing limits. For over a decade, I captained dodgeball and kickball teams — because I love competition, strategy, and rallying people around a shared goal. Winning is great. Earning it is better.

I also believe in standing for something. I’ve proudly embraced the NAFO movement and I’m a strong supporter of Ukraine. If that means running shirtless with “Support Ukraine” painted across my chest, so be it. Conviction should be visible.

Professionally, I build systems that perform. Personally, I live with intensity, loyalty, and purpose.

If you’re looking for someone who blends technical depth with competitive drive — someone who can architect, ship, lead, and still show up with personality — we’ll get along just fine.

Running in support of Ukraine

Showing Up Matters.

A race day reminder that values — like good architecture — should hold up under pressure.