01 / Work
Engineering / In practiceBuilding software is the easy part.
Understanding what to build, where to draw the boundaries, and how to keep a team moving. That’s the work I keep coming back to.
Featured project / This very website
A world worth slowing down for.
Make the imagination work in a browser.
Eight environments. One continuous journey.
The challenge
A personal site should tell you something about the person behind it. This one needed room for engineering, curiosity, and the ideas my children brought to the worlds.
The decisions
Keep the writing and navigation in ordinary HTML. Let Three.js bring the landscape to life. Animate the active world, combine static geometry, and give visitors control over motion.
The result is a journey you can explore or simply read. The work, writing, and contact pages stand on their own, without loading the 3D world.
Explore the finished world ↗How I work
Good software is a series
of considered decisions.
01Frontend architecture
Architecture that leaves room.
Good boundaries make it possible to change direction. I care about understandable systems, clear ownership, and abstractions that earn their place.
Optimize for the next decision, not the next framework.
02Technical leadership
Clarity is part of the job.
Give smart people the context to make good decisions. Remove obstacles. Make the tradeoffs visible. A team should get more capable, not more dependent on its lead.
Context before tickets. Trust before process.
03AI & automation
Change how the work gets done.
The interesting question is bigger than where to put a chatbot. I’m exploring how AI fits into building, reviewing, and maintaining software, with engineers still responsible for the result.
Faster feedback matters more than more output.
04Engineering quality & developer experience
Make the right thing easier.
Quality lives in everyday decisions: a useful test, a comprehensible interface, a workflow that catches mistakes early. The tools should support good judgment.
Less friction. More confidence.
Selected work / Archive
Real problems.
Useful software.
A few earlier projects from my portfolio. Different tools, familiar questions about systems, constraints, and getting the details right.
An HR platform that connected the pieces.
Laravel · Vue · API integrations
The problem
A manufacturing company needed an intranet that could support HR management and an employment portal.
The approach
I designed the database and application, connected third-party services, and built a workflow that turned web-form submissions into filled PDF documents stored through the Box API.
The real engineering work was in the boundaries: data, documents, integrations, and the people moving between them.
Turning coordinates into delivery routes.
Mapbox · JavaScript · PHP
The problem
An agricultural delivery operation needed to make useful routes out of GPS coordinates.
The approach
I used Mapbox’s Geocoding and Directions tools to build a custom routing solution and support route analysis. The scope stayed grounded in what the project could actually support.
A useful solution respects both the technical problem and the constraints around it.
A small validation with a real purpose.
JavaScript · Form validation
The problem
An existing shipping application needed to validate container identification codes before accepting a form.
The approach
I implemented the ISO 6346 check-digit algorithm in JavaScript and connected it to the submission flow.
Sometimes the right piece of engineering is a small, precise rule at exactly the right boundary.
For the less conventional ideasStep into the lab.↗