#03Realtime / Messenger

Nest Messenger

A corporate messenger on Elixir and Phoenix: hundreds of thousands of concurrent connections and lossless delivery.

  • Elixir
  • Phoenix
  • PostgreSQL
  • Redis
  • React
  • Kubernetes
Demo Source code is covered by an NDA Discuss a similar project

Results in numbers

  • 250k

    concurrent WebSockets

  • 35 ms

    average delivery

01

Challenge

The client needed an in-house messenger inside their perimeter: no chat data leaking to third parties and guaranteed delivery.

02

Solution

We built the backend on Phoenix Channels with Phoenix.Presence, PostgreSQL history and sharded rooms. The web client is React with an offline message queue.

Key features

  • 01 Threads, reactions and mentions
  • 02 Chat history search
  • 03 Real-time presence
  • 04 File sharing with antivirus scanning
  • 05 SSO and admin audit logs
  • 06 Mobile clients with push notifications

Tech stack

  • Elixir
  • Phoenix
  • PostgreSQL
  • Redis
  • React
  • Kubernetes

Timeline

  1. 3 weeks

    Prototype & load model

  2. 8 weeks

    Messenger core

  3. 9 weeks

    Clients & rollout

Need something similar?

Describe your task in a messenger — we will come back with questions, an architecture and an estimate.