Boring product always wins
Products that are simple, familiar, and hard to mess up

While building Aside v2, I was thinking what was missing in the v1. Quality? No. Technical issues? Some of, but not really. Effort? We worked 24/7. After lots of thinking, it hit me one morning while taking a bus. We did not build a boring product. So what is a boring product?
First, it is easy to explain. When Whatsapp first launched, I described it to friends as “texting, but free.” That was enough. Even after many features were added over the years, Whatsapp is still understood as a messaging app.
Second, it is comparable. Comparability helps in many ways. From a business perspective, having a clear competitor who makes real money proves that people are willing to pay. A reasonable goal might be to reach 10 percent of their revenue in two or three years. Comparison also helps with awareness. Everyone already understands texting, which made the “SMS vs Whatsapp” framing simple and effective, as long as it does not turn into shallow rage bait.
From a product perspective, a boring product keeps you from getting lost in features. As a founder, it is easy to start building without clear feedback, and once you do, it is hard to stop. Having a concrete image of the product matters. Users also do not need to learn something new, which is a huge advantage.
Finally, a boring product does not get tiresome. It stays true to its role. Whatsapp used to be a boring product, which is why I liked it. Today, it is filled with distracting content that makes opening the app exhausting. Linear, on the other hand, is still a boring product to me. You organize work, move it, and share it. Even Linear Agents feel natural because they are built around the idea of assigning tasks. That is why Linear feels solid and hard to get tired of.
So why did we fail to build a boring product in Aside v1?
While working on Caret, we thought we already understood this problem and could build something cleaner, more automated, and more proactive. But vague ideas break down when translated into code. It takes a long time to reach something you are truly satisfied with.
Looking back, I think we were also afraid. When you describe a boring product, people often react with, “Why build that?” or “Isn’t that just a copy of X?” It does not sound impressive or exciting, so it naturally makes you hesitate.
Now, there is much less reason to be afraid. During YC, there was a lot of external pressure. But if the goal is a boring product, the job becomes simpler. Remove more. Put it in users’ hands more. If it does not work, it does not work. That is fine. It feels like the right time to return to building a boring product.