Latest Notes

Roman Grossi • Founder

Indie hacking, startups, resilient systems - and staying sane while building a small company

Back to articles

How Constraints Made My Product Better

· 2 min read · 15 views

Less is more.

It is a really overused phrase that has become a cliché, yet it still has not lost its relevance.

At some point, 'less is more' was exactly what the mobile‑first approach was about: first you build the mobile version of the site and only then the desktop one. That shift opened the era of the mobile web. Now, if a site or service does not have a proper mobile version, almost no one will use it and the product will never go mainstream.

Today, while building Saylify, I realized I have 'less is more' on steroids. First I built a full‑featured Telegram bot, then a Telegram Mini App (basically mobile‑first), and only now I am building a Web App. And here is what is interesting: since I had almost no way to control the bot interface (the max you get is button layouts and commands), I had to win not through UI, but in other ways.

First, I designed all the necessary internal API endpoints. In practice, there is an endpoint for almost every action, instead of a monolith like I had before. This made it dramatically easier to build both the Telegram Mini App and the Web App.

Second, the logical architecture is now polished to 100%. For example: there is a translation of the transcript, and when you call `summary`, what should happen? Summarize the translation, or summarize the original and then translate the result? The answer to questions like this is now the same everywhere, which gives predictability.

Third, as I build the Web App now, I am getting huge satisfaction because the constraints are almost gone. Streaming responses from the OpenAI API? Sure. Time zone calculations on the client? Of course. Clear callbacks for every event? No problem, especially since they are already implemented in the internal API.

So, constraints are not always bad. Sometimes they help you make the product more logical, stable and understandable, both for yourself and for the end user.

More to explore