I create web applications. These days, I spend most of my time consulting with Ruby on Rails and specialize in helping teams improve their development, testing, and release processes. That’s to say that I help teams who don’t have any tests written improve their test coverage and code quality in an ongoing and sustainable manner.
I graduated from the University of Texas at Dallas in 2000 with a degree in Computer Science. From there, I spent the next eight years in consulting focusing primarily on front-end development and information architecture while dabbling in .Net and Ruby on Rails.
Over the years, I’ve worked in a variety of roles on sites and applications of all sizes. I currently work as an independent consultant helping SaaS applications with both front-end development and back-end development using Ruby on Rails.
In 2008, I created Sifter, a hosted bug and issue tracking application built with Ruby on Rails. In July of 2010, I began working on Sifter full-time. In March of 2016, I sold Sifter to focus on recovering from medical issues that ultimately led to a left below-knee amputation.
Starting & Sustaining
In 2013, I wrote the first edition of Starting & Sustaining, a book that addresses the logistics and lessons learned of starting and successfully running a hosted web application as a solo founder bootstrapping.
After running Sifter through several years of health issues and ultimately selling it, there was a bit more to add. In 2018, I released the second edition that turned out to be a huge update. I also did a series of interviews with others around the SaaS industry focused on their struggles and overcoming those struggles.
Crested Butte Jobs
In 2021, after some time away from building my own apps after selling my business, my wife and I recently launched a small Rails app to help people find jobs in the Gunnison Valley in Colorado, aka Crested Butte Jobs. It’s been a lot of fun to build a tiny side project outside of the SaaS space to support our local community.
I’m also working on resources to help other amputees be more active in the form of a non-profit—Adaptable.org. Whether being more active is as simple as walking more frequently with less pain or pushing their limits by finding equipment, financial support, or other creative ideas, I’d like people to more easily be able to find answers than I could when I was considering amputation years ago.
While progress hasn’t been as fast as I had hoped, the effort continues. As time goes on, and bill-paying work stabilizes, I’m able to carve out more time for it, and I’m still as excited as ever about its potential.
I experimented with a series of personal videos about life with prosthetics, and since it went well, I’m circling back to add more videos and expand it.
Lately, I’ve been working on open source tools to help streamline my Ruby and Rails development work by removing friction from frequent tasks related to automated testing and code quality.
The first is Minitest Heat, a custom Minitest reporter to help more quickly address issues that arise from failed or broken tests in a project’s test suite.
The second, and more ambitious, is not quite ready for prime time yet but has been amazingly helpful to use to further develop itself. Reviewer is a tool to help teams manage multiple static analysis and automated code review tools so that they can be fast and frictionless to use frequently in local development environments and continuous integration by making it easy to adjust for each unique context. I like to think of it as adding some super powers to the code quality tools so they can be run more frequently and in more contexts without tradeoffs.
Around the Web
A List Apart
- Password reset email design best practices
- Best practices for sending on behalf of your users
- Considerations for evaluating transactional email service providers
- Transactional email bounce handling best practices
- User invitation email best practices
- Comment notification email best practices
- Receipt and invoice email best practices
- Trial expiration email best practices
- Transactional email best practices
- Gmail Inbox Actions can improve your transactional emails
- How does SPF protect your domain from email spoofing?
- Founder Quest
- Inside Intercom
- Bootstrapped.fm Part 1 & Part 2
- The SaaS Bootstrapper
- Indie Hackers
- Hack the Entrepreneur
- Rocketship.fm - Getting Over the Fear of Starting a Business
- Churn Buster - Customer Success from the Bottom Up
- Product People - SaaS isn’t all rainbows and unicorns
- Chasing Product - Practical Product Transitions
- Your First Customers
- Founder’s Talk
- Ruby on Rails Podcast
- Peers Conf - Seattle 2017
- Refresh Dallas - Dallas 2017
- MicroConf - Las Vegas 2018
- Ruby FTW - Ft. Worth 2014
- SchnitzelConf - Austria 2010
- Webmaster Jam Session - Dallas 2008
- Webmaster Jam Session - Dallas 2007
- Web Visions - Portland 2007
- Web Visions - Portland 2006
- SXSW - Austin 2006
- Refresh Dallas - Dallas 2005