Back to all projects

Platonos

Real-time messaging platform where all chats are public. The live site is no longer online.

Home:

Chat:

Why?

The motivation behind this website is to encourage deeper conversations between people on the internet.

We do this by focusing on two aspects of the platform. First, all users are anonymous, which strips away the social constraints that keep people from sharing honest thoughts. Second, the platform automatically picks a random user and invites them to chat, reducing the number of steps needed to start a conversation down to just one: creating a topic.

Why does this matter? There's a term on the internet called lurkers, referring to members of an online community who observe but don't participate. The ratio of lurkers seems to be huge, and there's nothing wrong with that. They may just want to consume information, or they might feel they need to learn about the community first before contributing.

While these are all valid reasons, I believe that most of the time they come down to fear: the fear that comes from having the option to escape. The best way to resolve that fear is to limit the number of choices people can make. Let the system decide instead, so users don't have to think much because it's already part of 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 they accept, the talk starts immediately. If they reject it, another user is invited.
  4. They talk.
  5. The talk ends when any participant ends it.

The fun part is that since every chatroom was public, anyone could click into one to watch the conversation happen live, like watching other people's real-time messages.

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-match algorithm is simple at this stage. It first filters out anyone who hasn't been active in the last 3 days, then sorts the rest by their last invited date and picks whoever hasn't been invited for the longest time.