Web development
Modern sites and applications built to remain useful after launch.
Next.js, React, TypeScript, WordPress and custom development—shaped around the actual business and the people who will maintain it.
Senior Web Developer. Designer. Problem Solver.
Portrait
to come
Design × Development × Experience
That’s become one of my greatest strengths.
I started my career as a designer and gradually became the person who wanted to understand everything happening behind the design, too.
That curiosity became a career spanning visual design, frontend development, WordPress, PHP, UX, infrastructure, performance and modern React development.
I like solving problems and making things better.
The tools matter. The judgment connecting them matters more.
Modern sites and applications built to remain useful after launch.
Next.js, React, TypeScript, WordPress and custom development—shaped around the actual business and the people who will maintain it.
Visual judgment that stays present in every technical decision.
Typography, hierarchy, responsive behavior, accessibility and interaction design informed by a career that began on the design side.
Far beyond page building.
Custom PHP, APIs, structured content, dynamic templates, integrations and large multi-site environments that need to make sense.
Fast, predictable websites are better experiences.
Audits, caching, Cloudflare, hosting, security and methodical troubleshooting—focused on real-world behavior rather than vanity scores.
A location widget became a more useful system for an entire collection of websites.
Centralized multi-site location platform
Instead of maintaining separate records on every website, I built a shared location application powered by a Google Sheet and an interactive OpenStreetMap interface.
The application can be embedded wherever it is needed, keeping five websites synchronized without repeating the same content work.
Read the case studywebsites sharing a single location system
Less screenshot theater. More context, thinking and outcomes.
WordPress · Content systems
A system designed for the next update, not only the launch.
02Performance · Infrastructure
Faster, steadier and easier to maintain.
03Next.js · Personal platform
The portfolio itself becomes evidence of the approach.
A working philosophy
A fast interface respects someone’s time.
A clear interface respects their attention.
A maintainable system respects whoever works on it next.
The smartest solution usually isn’t the most complicated one.
Twenty-six years of experience should mean twenty-six years of context—not twenty-six years of doing things the same way.
Writing code is often the easy part. The valuable work is discovering what actually needs to be solved.
Technical sophistication does not require unnecessary complexity. Good systems should make sense to the next person.
Websites break. APIs fail. Methodical thinking is more useful than panic, especially when the stakes are real.
years
on the web
And still learning
I’ve worked as a designer, art director, multimedia designer and web developer across agencies, established organizations and internal creative teams.
Technologies have come and gone. The fundamentals haven’t changed nearly as much: communicate clearly, understand the user, solve the real problem, build carefully and care about the result.
Read my storyNotes on development, design, performance and maintaining real websites for real organizations.
Performance · 6 min
Why speed, stability and thoughtful engineering are part of the user experience.
Case notes · 8 min
How a location widget became a better way to maintain shared information.
Development · 7 min
Two very different tools that solve different kinds of problems.
Perspective · 5 min
The technologies changed. Most of the important lessons didn’t.
Have an interesting problem?
I like building things. I like figuring things out. And I genuinely enjoy being the person someone can come to when a difficult web problem needs a thoughtful answer.
Let’s talk