Building software that works beyond the happy path.
new features · weird bugs · thoughtful UX · unexpected user workflows
I'm a software developer working primarily in Ruby on Rails on complex workflows.
I like the part of software development where the answer isn't obvious: new features that need room to evolve, tricky bugs, performance problems, data models that have to survive the next iteration, and the inevitable moment when a user does something nobody expected.
I started my tech career in QA, which means I'm still a little suspicious of the happy path...in the best way. I care about understanding the full workflow, testing assumptions, asking good questions, and building software that holds up outside the perfect demo scenario.
Before tech, my career included teaching in the U.S. and abroad and leading nonprofit programs in homelessness, housing, and disaster response. Eventually I traded program operations for pull requests, and it turns out a surprising amount of the job still involves understanding people, organizing complexity, and solving problems.
unexpected user workflows · slow queries · edge cases · data problems · the bug that "makes no sense"
new features · better workflows · thoughtful UX · useful automation · systems that can evolve
What does great software engineering look like in an AI-assisted world?
How do we use AI to move faster and build more without losing the technical understanding, curiosity, planning, and rigorous QA that make good software solid?
- Product-minded engineering and the intersection of product, UX, and code
- Data modeling for products that need to keep evolving
- AI-assisted development without sacrificing understanding or quality
- Learning how people actually use software instead of assuming they'll use it the way we designed it
Building Rails features. Chasing edge cases.
Somewhere between the happy path and whatever the user actually did.


