I spent years managing massive marine construction projects, dealing with tight timelines, variable field conditions, and a mountain of critical data trapped in messy spreadsheets.
Today, I build software for that exact world. I design operations dashboards, streamline automation workflows, and engineer practical AI tools that actually work where it counts, far beyond a simple demo platform.
How I Work
Good software isn't just code. It's knowing the job it has to do and where it has to survive.
Start with the real problem
Before I build anything, I figure out where the actual pain is. Most of the time it isn't where people first point.
Build the smallest useful thing
I ship a thin version fast, put it in front of real users, and let what they actually do decide what comes next.
Make it hold up
On a job site, things that fail cost real money and time. I bring that same caution to code: handle the edge cases, expect the weird inputs.
Featured Projects
A few things I've built lately. Some shipped, some still in progress.
The Journey
How I got from civil engineering to building software.
Civil Engineering
My first work was on real infrastructure: bridges and marine structures, where a mistake isn't a bug, it's a safety report. It taught me to respect constraints.
Consulting PM
Ran marine construction projects worth millions: budgets, schedules, contractors, and the weather. I learned how work actually gets delivered when a lot is on the line.
CS Degree
Went back to school for computer science to build the tools I kept wishing existed on site. Algorithms and systems by day, shipping side projects by night.
AI Solutions
Now I build practical AI tools for the industries I know best, focusing on construction and complex operations. The goal is to design straightforward software that works seamlessly for the people who do not have time to fight with software.
Have something you want built?
If you're working on something in construction, operations, or finance, I'd like to hear about it. Especially if you need someone who gets the domain as well as the code.
