I build web applications end to end

Senior fullstack engineer with 13+ years building for the web — strongest in Vue.js on the front end and PHP/Laravel on the back, comfortable across Ruby on Rails and TypeScript/React.

Get in touch

I find the root cause, not just the symptoms

Most technical problems aren't really technical problems — they're business process problems wearing a technical disguise. My approach focuses on understanding the full picture before writing any code.

Start with questions

What's the actual business problem? What does success look like? What have you already tried?

Analyze the data

Patterns in your data often reveal the real issues. I dig in to find what the numbers are telling us.

Target high-impact fixes

Not all problems are equal. I prioritize solutions that deliver the most value with the least complexity.

Deliver outcomes

The goal isn't elegant code — it's measurable improvement to how the system actually performs.

Recent Work

Case Study

Data-Driven Error Reduction

The Challenge A data import process was generating hundreds of errors daily. The team was spending significant time handling these case-by-case, treating each error as a unique problem to solve.
The Approach Rather than treating symptoms, I analyzed the error patterns using database queries. By joining data from multiple sources and grouping errors by frequency, I identified the true distribution of problems — something that wasn't visible when handling errors one at a time.

The Result: 75% of all errors stemmed from just 1-2 root causes. Two targeted fixes eliminated the majority of the problem — work that would have taken weeks of case-by-case handling.

The fix wasn't more error handling code. It was asking the right questions of the data.

Case Study

Workflow Friction Causing Incomplete Data

The Challenge A stakeholder was frustrated that users weren't entering complete records. The assumption was that this was a training or compliance issue — users just weren't following the process correctly.
The Discovery After meeting directly with users, a different picture emerged. The data entry workflow had multiple friction points that made entering complete records tedious and time-consuming. Users weren't cutting corners out of carelessness — they were making rational choices to save time in a system that worked against them.
The Approach Rather than adding more training or enforcement, I worked with the users themselves to identify the biggest pain points in their workflow. We prioritized fixes based on impact and implemented changes to streamline the process.

The Result: Complete record rates increased significantly, and downstream processes that had been slowed by missing data began running smoothly.

When users aren't following a process, the instinct is often to blame the users. But the real question is: what is the system making difficult?

About Me

I'm Travis Hohl, a senior fullstack engineer with over 13 years of experience building web applications. I work most fluently in Vue.js on the front end and PHP/Laravel on the back end, and I'm comfortable working in Ruby on Rails and TypeScript/React as well. But what I've learned over that time is that writing code is the easy part — understanding the problem is where the real work happens.

I've worked with companies of all sizes, from startups to enterprises, including fintech and payments work at Visa. The pattern is always the same: the best solutions come from stepping back, asking questions, and understanding the system as a whole before diving into implementation.

I'm based in Austin, Texas, and I care as much about the systems and the people around the code as the code itself.

Get in touch

The best way to reach me is by email. You can also find me on LinkedIn.