Thinking Smarter

Toby Bull · December 5, 2025

What we know

I’m at a stage where I need to make smart decisions. I need to decide on what SaaS I’m going to make. There is plenty of conventional wisdom, such as build fast, validate the idea, get customer feedback, iterate. There’s certainly some truth to all that, and software devs often go wrong by retreating into the comfortable world of coding where they can feel like they’re being productive, and shy away from the nebulous world of marketing and sales.

People often have a cool idea, but no one wants it. The build it and they will come philosophy has been thoroughly debunked. Meta has sunk billions into creating the “metaverse” without fully understanding what it even is, and assuming they could make something so cool that people would love it and use it. Again, the old wisdom teaches us that you can’t change people’s behaviour.

The other highly debated concept is that you don’t have to come up with a new idea. Take a good idea that someone else has already done and is making a success of, and you know for a fact that it’s been validated already. There’s certainly some truth to that, and people have made apps that are just another competitor in a market that already exists. I think the key to that is closely examining the current offerings and seeing a clear gap, or a clear problem. Just trying to critique other apps and services isn’t really enough. A crappy, but established service will still hold on to its customers because people don’t want to go through the upheaval of changing, even if it is better. All you can really hope to do is siphon off some of the new customers to the area.

Different perspectives

I think the key to success, beyond actually getting on with the work instead of wasting time writing blog posts, is to use all the clever tools that people have come up with, to think about a problem. One of those is the idea of reverse thinking. This can be applied in many ways.

You might imagine a future in which you succeed, and then try to figure out what you did to get there, but instead imagine a future where you failed, and consider the things that you did wrong. There are far more scenarios in which you can fail than there are scenarios in which you succeed. Inverting your thinking to failure scenarios helps you eliminate them. In essence, instead of trying to be smart, focus instead on trying not to be stupid.

One idea I heard about self improvement, was that you should consider the qualities and attributes that a successful, wealthy and happy person has, and try to develop those attributes and qualities. In doing so, you become the kind of person that is likely to be all those things. I think the same concept can be applied to a SaaS business. Examine successful SaaS companies, what good qualities do they have? What’s good about their product? Taking a more abstract approach, and focusing on what’s good about the competition, rather than the more conventional approach of looking at ways that they’re bad, could also prove to be powerful.

Progress report

Today I somehow lost time, it was 2pm and I just could not figure out where the last four hours had gone. Fortunately I managed to get into a groove and pushed on until 7pm. I’ve figured out the database schema, written up the table creation code, and I’m half way through implementing all the CRUD methods. I’m much more in my element doing the back-end code. I don’t want to over engineer this app, as it’s only meant to be the easiest possible project for me to get started, so I can actually go though the process of delivering something from start to finish. That being said, if I can figure out some good patterns on this noddy project, then I’ve got a template project that I can make use of on the next ones. I think it’s a good idea doing it that way, the subject matter couldn’t be simpler, so I can focus on making the right architectural decisions, get familiar with the tech stack etc. I’m still new to go, but I’m finding I can program in it quite well, with the help of an LLM of course. I’m getting a much better feel for the language, how to structure an app written in go. Once the MVP is done, I might try getting prometheus and grafana running so I can get some alerts and metrics. Once that’s in place, I’ve actually got the beginnings of a real SaaS.

X, Facebook