Welcome to my twice-monthly newsletter about the highs and lows of building indie software products.
1. Boords DX
Like some kind of horrible inverse of Moore's Law, my Boords development experience is exponentially worse now than it was five years ago. This reached a head last week. My local page reload time hovered around ~45 seconds every time I changed a Ruby file. After successfully reducing the friction required to publish a blog post by using Notion as a CMS, this level of friction for making even the slightest change to Boords is unacceptable.
The first step was to upgrade our dated Rails version to Rails 6. It's not yet released, but for the most part, it was smoother than I expected. It was also a good opportunity to cut out some of the cruft which inevitably appears over the years in a product. While the new version of Rails is certainly faster, it didn't solve my slow page load speed on its own. I did the rounds on various profiling tools trying to get to the bottom of it, and wrote a short blog post summarising the most useful. And happily, my local page load speed is now ~1s, which obviously lowers the friction enormously.
2. Stripe Checkout
As part of the Rails upgrade, I'm replacing our home-spun checkout and billing sections with Stripe's Checkout and Customer Portal. Using Stripe's self-hosted system will remove an enormous amount of complexity from the app, which I'm perhaps unreasonably excited about. Of course, it's not as flexible as our own system - you can't deep-link to specific plans, for example. However, the reduced complexity, internationalisation, Apple pay, hosted invoicing and a bunch of other stuff make it a good trade-off in my book.
3. Life of Focus
This week I finished Life of Focus, a 3-month online course from Scott Young and Cal Newport. It builds on ideas from their existing work, Deep Work, Ultralearning, and Digital Minimalism, and packages them into 12-week's worth of 5-15 minute videos from the authors. While I'm familiar with the ideas in their books, the course format helped me consolidate them and integrate them into my life (for example prioritising and tracking deep work). If you're interested in working and learning more effectively, I highly recommend it.