← All work
Real‑time chat

Halo

Full‑stack real‑time chat across native mobile and web on one Express + Socket.IO backend — voice, image & video messages, reactions, presence, read receipts, and push notifications.

React NativeReactNode.jsSocket.IOMongoDBExpo

The problem

Teams often end up with a mobile chat experience and a web chat experience built on two different backends that drift out of sync — different message formats, different presence logic, duplicated bugs.

What we built

We built one Express + Socket.IO backend that serves both a React Native app and a React web client from a shared message and presence layer — with voice notes, image and video messages, emoji reactions, typing indicators, read receipts, and push notifications wired in from day one.

Result

A single real-time chat product that ships mobile and web together, with one codebase to maintain for message delivery, presence, and notifications instead of two.

Screens

Halo screen 1
Halo screen 2
Halo screen 3
Halo screen 4
Halo screen 5
Halo screen 6
Halo screen 7
Halo screen 8
Halo screen 9
Halo screen 10
Halo screen 11

Building something similar?

Start a project →