Back to all projects

Platonos

Real-time messaging platform where all chats are public. This is a work in progress.

Home:

Chat:

platonos.com

Why?

The motivation for this website is to encourage deep conversations between people on the internet.

We do this by focusing on two aspects of the platform. First, all users are anonymous, as this will strip all social constraints that prevent them from sharing honest thoughts. Second, automatically randomizes another user and invite him/her to chat. This reduces the total number of steps to have a chat on the platform to one (creating a topic).

Why do this? There is the term on the internet called lurkers, which are members of an online community who observes, but not participate. The ratio of lurkers seems to be huge. There is nothing wrong with this. They may just want to consume information. Or, they might think that they have to learn about the community first, before being able to provide productive contributions.

While these are all good reasons, I believe that most of the time, they are caused by fear. Fear comes from having options to do otherwise, to escape. The best way to resolve fear is to limit the number of options people can take. Let a system decides instead. Users don’t have to think much because it’s already in the process.

How it works

  1. An author creates a topic.
  2. A random match is invited.
  3. The match either accepts or rejects the invitation. If accept, the talk starts immediately. If reject, another user is invited.
  4. Talk.
  5. The talk ends if any participant ends it.

Read more at platonos.com/about.

The fun bit is that any users can click on any chatroom to watch the talk in action since all are public. It’s like you can watch other persons’ real-time messaging!

Technical Details

  • Use Next.js to build the frontend with React.
  • Use Apollo as a GraphQL client.
  • Use Graphcool for GraphQL-powered backend.
  • The random algorithm is very simple at this stage. First It filters people who are not active last 3 days out. Then they are sorted by last invited date, and we pick who hasn’t been invited for the longest time.