How Constraints Made My Product Better
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
Anthropic Warns of an AI Slowdown: Real Safety Signal or IPO Narrative?
Just a couple of days ago, Anthropic released a fairly alarmist statement: the company suggested we should seriously discuss a global slowdown or temporary paus…
The Failure of AI Skepticism: Why Manual Coding Is Already the Wrong Layer
In recent months I keep seeing the same pattern: someone posts another example where some "vibe coders" used AI to generate a project, left API keys on the fron…
You Don’t Need a Perfect Modern Stack to Agentize Your SDLC
Continuing the idea from the previous post. Many companies believe that to add agents to their SDLC they first need to completely get rid of legacy, move to mic…
AI in Software Development: What Comes Next?
AI. What’s next? Up until around December, using AI in development basically meant: prompt -> copy some code -> paste -> tweak -> repeat. Now this a…