Skip to content


Toronto Ruby Meetup

Posted by Jonathan Bennett on Nov 28, 2023 9:30:00 AM

Last Thursday, November 23 was the inaugural Toronto Ruby meetup. Simmon Li invited me up and it was a great time.

Thanks Matt for taking us down all the bunny trails around Integer#even? and your obsessive need to correct the internet. I don't appreciate being left hanging on the performance implications though!

I hope to make it up again in January.

Read More

The Hidden Costs of Custom Software Projects

Posted by Jonathan Bennett on Nov 23, 2023 9:25:53 AM

Everyone thinks about the cost of the initial build of custom software, but it can extend far beyond that. When accounting for the total cost of custom software you need to consider:

Read More

Safeguarding Your Custom Software Investment

Posted by Jonathan Bennett on Nov 21, 2023 2:34:28 PM

Custom software is a significant asset for any business, offering tailored solutions and competitive advantages. However, like all software, it demands continuous maintenance and support to ensure it remains effective and secure. This might seem counterintuitive — after all, software that remains unchanged doesn't change, right? The unique challenge with software is its dynamic environment; without regular upkeep, software can become obsolete or dysfunctional.

Read More

When to Make Custom Software

Posted by Jonathan Bennett on Nov 7, 2023 10:00:00 AM

Business leaders ask me when they should commission custom software. That question is easy to answer. These two things must be true:

1. Nothing else out there does what you need well.
2. The value the custom software provides exceeds it's lifetime cost.

Unfortunately, this leads to additional questions that are harder to answer…

Read More

Start with a Spreadsheet

Posted by Jonathan Bennett on Nov 1, 2023 5:11:29 PM

Let's get something straight: I'm a big fan of spreadsheets. There's something satisfying about taking an idea, breaking it down, and seeing it laid out in neat rows and columns. You can quickly spot complexities, see where the real value is, and even identify areas that might need a little more attention.

But here's a heads-up for all my fellow business owners: while starting with a spreadsheet is great, it's essential to know when to level up. What begins as a handy tool can, over time, become a crucial part of your operations. And when your business starts depending heavily on a single spreadsheet, things can get a tad dicey.

Making changes? Risky. Keeping track of edits? Tricky. And if you've ever faced the chaos of a "mission-critical" spreadsheet going haywire, you know what I'm talking about.

If you've got one of those indispensable spreadsheets, it might be time to think about turning it into a custom application. It could be the game-changer your business needs. And hey, if you're curious about how to make that shift, let's chat. I'd love to share some insights.

Read More

Conditional Formatting w/ RubyXL

Posted by Jonathan Bennett on Oct 20, 2023 1:46:55 PM

I was looking to add conditional formatting to an Excel report that I was generating with RubyXL and found no documentation on how to do it. Looking at the source code wan't much use as it looked like it was a direct translation from an XML reference.

Read More

Code w/ Jason Meetup CRMmy Review

Posted by Jonathan Bennett on Sep 21, 2023 5:01:08 PM
At last Thursday's Code With Jason Meetup I was in the hot seat with CRMmy, my CRM side project. We spent most of our time talking through some feature tests, taking them from a single initial stream of consciousness test to a higher quality set of tests.
Read More

Topics: Software Development, Testing

Fun Times with Caching

Posted by Jonathan Bennett on May 2, 2023 4:56:18 PM

So I recently was working on a client project and ran into a problem with an admin report page being super slow only on production, oven though it had russian doll caching setup on it.

Read More

From Terminals to Web-Based SaaS

Posted by Jonathan Bennett on Apr 21, 2023 10:38:20 AM

Software development has come a long way since the days of punch cards and mainframes. Today, small and medium-sized businesses (SMBs) have more options than ever before when it comes to creating custom software solutions for their needs. In this blog post, we'll explore the evolution of software development, from terminals to clients, and how web-based SaaS has brought us full circle back to terminals.

Read More

How to Beat Your SaaS Competitors: Solving Specific Problems Better

Posted by Jonathan Bennett on Apr 17, 2023 3:22:55 PM

In the world of SaaS, competition is fierce. Startups and small businesses must constantly strive to stay ahead of the curve and outperform their competitors. But how much better does a SaaS product need to be in order to be competitive?

The answer lies in understanding that different problems can be solved to differing degrees and styles of better. Some solutions are 10x better than the competition, while others may be only 0.1x better, but are different in a way that is significant. For example, a SaaS product may be faster or more intuitive than its competitors. The competition might also be over-serving, providing too many features that customers do not actually need or use.

To illustrate this point, let's take a look at two email marketing automation platforms: and ActiveCampaign. was a relatively new player in the market, but has quickly gained popularity for its ease of use and automation capabilities. On the other hand, ActiveCampaign was a well-established platform that offers a wide range of features and customization options.

While ActiveCampaign did offer more features than, some users found it overwhelming, difficult to use, and expensive., on the other hand, focused on simplicity and automation, making it much easier for users to set up and manage. This difference in approach has allowed to differentiate itself from its competitors and gain market share.

So, how do you beat your competition in SaaS? One strategy is to focus on solving a specific problem better than anyone else. This requires a deep understanding of your target audience and their pain points. As startup, you may not have the resources to compete with larger players on all fronts, but you can excel in specific areas.

Hiring a fractional CTO or independent software consultant can also help you identify areas where you can improve and differentiate your product. These experts can provide technical solutions that you may not knowere were possible, letting you quickly iterate and improve your product.

There is no one-size-fits-all answer to how much better a SaaS product needs to be to compete in the market. Different problems require different solutions, and it's up to you to identify areas where you can excel and differentiate your product. By focusing on solving specific problems better than anyone else, and hiring the right expertise, you can quickly scale your SaaS business and gain a competitive advantage.

Read More

Toronto Ruby Meetup

Last Thursday, November 23 was the inaugural Toronto Ruby meetup. Simmon Li invited me up and it...

Read more