One app for everything, and why we merged the tabs

Product

Your life does not come in five separate apps. A chat becomes a call, the call becomes a meeting, the meeting ends with a clip everyone shares. Kool puts messages, calls, live, meetings, mail, stories, posts and clips behind one identity, and this is what that actually costs and buys.

The buying is easy to describe. One identity means the person you are messaging is the person you are calling and the person whose story you just watched, without three accounts to reconcile. It means a conversation can escalate without leaving: no link to paste, no second app to install, no asking whether the other person has it. And it means one place where notifications are decided, which matters more than it sounds. Five apps produce five independent opinions about whether something is worth interrupting you for, and nobody is arbitrating between them.

The cost is that the app can become a bag of unrelated tabs, which is the failure mode of every product that has tried this. Avoiding it is not a design flourish, it is structural work, and it looks like this.

Anything shared has exactly one implementation. There is one media pipeline, so a photo behaves the same in a chat, a story and a mail attachment, including the parts nobody thinks about, like resumable uploads and how a poster frame is chosen. There is one realtime layer, so typing indicators, live viewer counts and delivery receipts are the same machinery rather than three that drift. There is one design token file, so a colour or a spring exists once and every surface picks it up.

The rule we apply when adding anything: if a feature needs its own version of something that already exists, that is a signal, and usually a signal that the existing one has the wrong shape rather than that a second is warranted. The second implementation always looks cheaper on the day and is the thing you are still paying for a year later, because it will not be updated in step and the drift is invisible until somebody puts two screens side by side.

The other half is knowing what does not belong. One app for everything is a description of scope, not an invitation to add anything. The test is whether a thing shares the same identity, the same contacts and the same conversation, because those three are what make the merge worth it. Something that shares none of them is a separate product wearing our navigation bar, and a tab is the most expensive place in an app to put something nobody asked for.

The result we want is not that Kool does more things than other apps. It is that the seams between the things are gone: fewer decisions about where to do something, fewer accounts, fewer moments where you have to stop and switch. Less juggling, more living, and most of the engineering behind it is the boring discipline of refusing to build the same thing twice.

All posts