I’m a staff software engineer at GitHub. I also lead development of the ViewComponent framework. I’ve previously worked at Galvanize, Wunder Capital, and MojoTech.
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’ve spoken at RailsConf (2019, 2020, 2021, 2022, 2023, 2024), RubyConf, Brighton Ruby, RubyDay IT, RubyConf Taiwan, Rocky Mountain Ruby (2023, 2024), Boulder Ruby, Ruby Galaxy, ChicagoRuby, NYC.rb, and Open Source Friday.
Podcast appearances: Remote Ruby, Ruby on Rails (2019, 2024), Ruby Blend, Code with Jason (2019, 2021, 2024), Ruby Rogues.
I served on the RubyConf 2024 program committee.
I am 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. I’ve also volunteered as a scholar guide at RailsConf for several years.
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.
I created ViewComponent, a framework for building encapsulated, unit-testable view components in Ruby on Rails.
I also introduced support for component frameworks like ViewComponent to Rails.
Wanting to minimize use of my phone around the house, I built Timeframe, an e-paper calendar and weather display. I’m currently working to migrate it to be a Home Assistant add-on, which will require changes to Home Assistant.
SoloFolio is a portfolio website platform for visual artists.
SoloFolio started out as a WordPress theme I built in high school to publish my photography portfolio. In college, a few friends asked to use it for their sites, so I turned it into a SaaS platform.
I’ve since rewritten it in Ruby on Rails, using it as a test bed for new technologies I want to learn, such as React.