Jonathan Bennett


Thoughts on programming, product design, and more, conveniently collected in chronological order

Using Super with Dynamic Methods

Dynamically defined methods can cause issues with overriding and accessing the super method. There are two reasonable solutions to this problem and we'll look at both of them today.

Getting the Most Out of Test Coverage

Learn the essentials of test coverage, its pros and cons, and how to effectively use it to ensure your software's reliability and robustness.

More Spaghetti, Less Spaghetti Code

Spaghetti code: needlessly complex and hard to manage. Discover why it happens, its pitfalls, and how to clean it up. Save spaghetti for dinner, not your code!

Flaky Tests

Fixing tests that only fail occasionally can be a huge win for your confidence in your test suite.

Ideal Customer Profile

How well do you know your perfect customer? If you can't sketch out a complete picture, you probably should be moving that to the top of your list.

You are the Mechanical Turk

Sometimes the best way to build software is to not. See how you can fake it till you make it

Prototyping for Validation

Coding can feel like it takes forever to create. Use a prototype to get to a great solution faster!


Interviewing people can give huge insights into what they need. These are my favourite two resources.

Landing Pages

Landing pages help you measure interest in a potential solution to real people's real problems and make sure you are solving the right ones.

Paid Early Access

Can you sell a product to a customer before it even exists? Absolutely.

Product Validation

How can you test out an idea for a product, without spending all the time and money to develop it?

Critical SaaS Infrastructure

Many startups are missing a core piece of infrastructure for their company to grow well. Find out why you SaaS needs a plan for all 7 of these critical components.

Are you going the wrong way?

It doesn't matter how fast you can go, if you're pointing in the wrong direction.

If You Outsource Wrong, You're Just Burning Your Cash

If you are a few years into a 6 month project and you have nothing to show, you aren’t saving yourself anything.

Outsourcing can be effective, but you need someone on your side of the table who knows if the other side is doing it right. Let’s talk about it

Jenga Tower Software Development

Jenga is fun. Jenga software is not. Find out the warning signs that you might be building a Jenga software and how to avoid it.


Environments help you keep your code clean and testable. Find out how and why!

What is CI/CD

CI/CD can greatly improve your team's development experience and productivity, all while decreasing risk. Find out how.

Skip the Native App

Skip the native app, it's isn't what you need

What is Turbo 8 Morphing?

See how Turbo 8's morphing will make your apps better and less buggy.

Turbo 8 Upgrade Guide

You only need to do 2 quick changes to get started with Turbo 8

You Need a Technical Founder

Do you have a technical founder in your corner? What goes wrong when you don't…

Custom Software Pricing Models

There are different methods for pricing software development. Find out what makes sense for your project?

Avoid Feature Bloat

You shouldn't replicate MS Word. Sorry, not sorry…

Service Worker Setup

Learn about setting up a service worker, and what their life cycle is

Noticed v2 Notes

A few notes on getting started with Noticed v2

"Minimal Impact"

Sigh, here we go again.

Doing Time Zones Right

4 simple steps to make sure you handle time zones correctly in your Rails app

Chrome PWA Install Prompts

Getting installs of your PWA doesn't need to be a pain. On Chrome, users can just click one button. See how it works here.

Detecting PWA Mode

3 simple techniques to check if your web app is installed.

Getting PWA Installs

3 simple tips for getting more PWA installs