Now
I’m a staff software engineer at GitHub, focusing on the health of our Ruby on Rails monolith. I also lead development of the ViewComponent framework. I live with my wife and two sons outside of Boulder, Colorado.
Career
I’ve made several contributions to Rails, including support for 3rd-party component frameworks, a helper for dynamically constructing CSS class names, template path annotations, marking code as uncacheable, and strict locals for templates and partials.
I created ViewComponent, a framework for creating reusable, testable and encapsulated view components that integrates seamlessly with Ruby on Rails.
I’ve spoken at RailsConf (2019, 2020, 2021, 2022, 2023, 2024), RubyConf, Brighton Ruby, RubyDay IT, RubyConf Taiwan, Rocky Mountain Ruby (2023, 2024, 2025), Boulder Ruby yearly 2019-present (2020, 2021, 2022, 2023, 2024, 2026), Ruby Galaxy, ChicagoRuby, NYC.rb, Vancouver Ruby, Toronto Ruby, SF Ruby, Geneva.rb and Open Source Friday. I also served on the RubyConf 2024 program committee and as a scholar guide at RailsConf for several years.
I’ve appeared on the Dead Code, Code and the Coding Coders who Code it, Maintainable Software, Remote Ruby, Ruby on Rails (2019, 2024), Ruby Blend, Code with Jason (2019, 2021, 2024), and Ruby Rogues podcasts.
I’ve made several contributions to the Home Assistant ecosystem, including support for folders on Apple Watch, filtering of declined calendar events, and extending the returned forecast window for WeatherKit.
I built my first SaaS product, a portfolio website platform for visual artists, while I was in high school. I’ve since rewritten it in Ruby on Rails, using it as a testbed for new technologies I want to learn, such as React.
Mentorship
I’m a strong believer in the power of peer mentoring. In addition to being a Big Brother, I regularly coach several aspiring engineers in their pursuit of a career in software.
Photography
I previously worked as a photojournalist at several newspapers, including The Roanoke Times and The Seattle Times. Since then, I’ve contracted for The New York Times and The Wall Street Journal. I now focus on travel and nature in my personal work.
Posts
- Featured on Smart Home Solver
- How I built Timeframe, our family e-paper dashboard
- Home Assistant video call status light
- Reliable, enhanced Snoo notifications with Home Assistant
- Automatic dog bowl refill reminder
- Keep a work journal
- Beyond Senior: Consider the staff path!
- My Ubiquiti Unifi Protect bird nest camera setup
- Lessons from 5 years of UI architecture at GitHub
- How to make your application accessible (and keep it that way!)
- Conference proposal: How to make your application accessible (and keep it that way!)
- Accessible by default
- Conference proposal: Accessible by default
- Conference proposal: Breaking up with the bundle
- Design for Safety by Eva PenzeyMoog
- Advice for new developers
- Born a Crime by Trevor Noah
- Nickel and Dimed by Barbara Ehrenreich
- I Think You're Wrong (But I'm Listening) by Sarah Steward Holland and Beth Silvers
- How to Take Smart Notes by Sönke Ahrens
- Practice Perfect by Doug Lemov, Erica Woolway, and Katie Yezzi
- What the CEO Wants You to Know by Ram Charan
- Conference proposal: How GitHub uses linters
- Our Iceberg Is Melting by John Kotter
- The Coaching Habit by Michael Bungay Stanier
- The Culture Map by Erin Meyer
- My Zoom teleprompter setup
- Conference proposal: ViewComponents in the Real World
- Nonviolent Communication by Marshall B. Rosenberg
- Encapsulating Ruby on Rails views
- Four Arguments for the Elimination of Television by Jerry Mander
- Strangers to Ourselves by Timothy D. Wilson
- The Dirt on Clean by Katherine Ashenburg
- Mindset by Carol S. Dweck
- Remote - Office not required by Jason Fried & David Heinemeier Hansson
- Conference proposal: Encapsulating Views
- Conference proposal: Rethinking the View Layer with Components
- React and Reflux in 5 minutes
- Creating magical UX with Helios
- How to rig a post remote camera
- Lighting strategies for indoor sports
- How to rig a backboard remote camera
- Living with the MacBook Air 11"
- My photography workflow, from ingest to backup
- A study on portfolio design