Product 2 min

Version 1.0 Is a Design Decision

Software is almost never truly finished. Still, a product needs a moment when an experiment becomes something that can be handed to other people. What actually belongs in version 1.0?

Software can almost always be extended. There is another setting, another view, another edge case, or an idea that could "probably still fit" into the first release.

That is exactly why I think of version 1.0 primarily as a design decision.

It does not answer whether a product is finally finished. It answers whether the central idea has become clear enough to hand to other people.

The core has to feel complete

A small product is allowed to have only a few features. It just should not feel as if half of it is missing.

That distinction matters. A reduced app can feel complete when everything visible supports the same purpose. A feature-rich app can still feel unfinished when navigation, naming, and behaviour keep contradicting what the product is supposed to be.

For a 1.0 release, I therefore start with a simple question: what is the core of this product? What has to work for the idea to remain understandable even if every optional feature is removed?

Leaving things out is product work

One of the hardest decisions in development is not deciding what can be built. It is deciding what not to build yet.

Every additional feature creates interface, states, edge cases, documentation, and long-term maintenance. It often changes the language of the product itself: an app that used to be simple suddenly needs categories, filters, and settings.

Version 1.0 benefits from a healthy suspicion of "just one more feature."

Quality is not the same as scope

It is easy to want a large first release because scope is visible. Quality is more subtle.

A good focus state, a useful error message, an empty state that does not surprise people, or an architecture where the next change does not disturb everything else will never dominate a feature list. Yet those details often decide whether a product feels trustworthy.

For SandsteinLabs, that work explicitly belongs in version 1.0.

A release draws a line

In the end, version 1.0 is a deliberate boundary between experiment and product.

Before it, many things can remain fluid. Data models change. Navigation gets discarded. Entire approaches disappear again. Afterwards, the product can of course continue to evolve — but from that point on it carries a different responsibility towards the people using it.

That is the moment when "I am trying something" becomes "you can rely on this."