Saint-Petersburg, 2018

<aside> ☝ This is the design document on Chaaat messenger, my project from 2018 that never happened. This is the first project ever where I was able to assemble a team that wanted to work with me, even though the project was meant to be open source and the budget was precisely zero dollars.

Still, we assembled and started building it. The thing that killed it is my decision to use OAuth 2.0 from the very start — that high entry barrier was the thing that made me abandon the project.

The text is archived with no edits, and original grammar is preserved.

</aside>

We are making p2p messenger for everyone. The whole concept is about three main priorities:

  1. anonymity: we identify user by arbitrary nickname user defines himself and by email that we use only for contacting user. Other users never sees each other emails
  2. privacy: we don’t collect or share user data. All we store is just user credentials
  3. security: not about data, but about people and governmental relationship. As soon as every message transfers via WebRTC, we have absolutely nothing to hide. We are fully open source. We have no company behind at all. We don’t spend or earn money. So we are always open for any government to investigate, they’re not getting any messages anyway because it’s technically impossible.

Legally speaking, it’s just a tech demo :) so we got clean hands.

Design

The app consists of two screens: the first one with your conversations and search button and the second one with actual chat to selected conversation.

At desktop, that two pages aligned side by side, with ratio of 34/66. At mobile, it’s two different screens.

All transitions use the following timing function: cubic-bezier(.25, .8, .25, 1).

We prefer black and white, Uber-ish style.

We also use nice, sharp Open Iconic icon pack: https://useiconic.com/open.

Raster graphic is absolutely forbidden here. There goes a list of things that are forbidden here too: