Husband. Father. Software engineer. Ubuntu Linux user.
I'm a husband, I'm a father, and I'm Catholic. I'm an Ubuntu Linux user, and I'm a staff software engineer at Strava. I've been working for Strava for six years and I continue to love working on an app I'm passionate about while solving interesting problems along the way!
Over the course of my career, I've worked for a variety of tech companies (Pariveda, SpotX, and Zen Planner), and I even taught high school math for a couple years as part of the Denver Teacher Residency. I have experience working on performance, scalability, feature development, systems architecture, and developer experience in a wide range of technologies including Linux, Ruby, PHP, Scala, Java, SQL, Redis, Kafka, Javascript, and Android. I enjoy solving diverse technical challenges, from fine-tuning database queries to improving user experience or architecting new systems that can handle our growing user base.
In my free time, I enjoy working on DIY tech projects, from 3D printing and electronics to home networking and Linux laptops. I write about these projects here on my blog, along with software development tutorials and technology reviews, to share what I learn along the way in hopes that others find it interesting and useful too!
I’ve been managing my dotfiles with Chezmoi for nearly five years now, and I love it!
Chezmoi fundamentally changed my approach to dotfiles with templating, making it
easy to keep my dotfiles working on multiple machines and even multiple
operating systems. And Chezmoi’s integration with password managers made it
easy to keep important identity files like id_rsa synced and backed up while
remaining secure. Overall I’ve been really happy with my dotfiles setup, but in
the last couple months I started noticing some pain points. Every time I synced
my dotfiles, I got prompted for my Bitwarden password. For a long time this
didn’t bother me, but I found myself getting increasingly annoyed at having
to authenticate to my password manager, and sometimes even re-authenticate with
2-factor authentication, when I knew my secrets hadn’t changed. I realized I
was actually avoiding updating my dotfiles because I didn’t want to deal with
the password manager – which is exactly the opposite of what I want. So I
finally decided to do something about it.
I got pretty excited when Bolt.new announced the World’s Largest Hackathon. I saw not only an opportunity to build something cool, but also – and perhaps more importantly – an opportunity to gain experience building something with AI tools. A hackathon’s the perfect place to explore the capabilities of AI tools because it let me lean in to vibe coding experience. I used the AI for many more kinds of tasks that I normally would, and I let it take control of things much more than I normally would. As a result, I think I was able to discover and push the limits of AI in my own workflow much faster than I otherwise would have, so it was an excellent learning experience!