← All workWeb / Mobile

Messenger Application

A full-featured real-time mobile messenger combining random stranger matchmaking, username search, friends, and public/private group chats with encrypted messaging, voice and video, and a built-in trust-and-safety layer. React Native client over a WebSocket backend, with a large admin and analytics panel.

Role

Developer

Year

2025

Built with
Node.js
TypeScript
WebSocket
Express
MongoDB
React Native
Expo
Stripe
Mockup
Screenshot 1
Screenshot 2
Screenshot 3
Screenshot 4

A real-time messaging platform on a Node.js and TypeScript WebSocket backend. I designed the data model, the REST and socket layers, and the event flow that keeps clients consistent across concurrent sessions, plus a large admin and analytics panel with usage reporting, moderation tooling, and the aggregation queries behind it. React Native client over the top.

Key challenges

Real-time fan-out over a raw WebSocket: keeping presence, typing state, reactions, and edits consistent across every participant in every shared chat, in real time.

The matchmaking engine: scoring queued users by interest compatibility while honoring gender/age filters and excluding mutually blocked pairs and existing chats.

The random-chat-to-friendship lifecycle. Temporary chats that auto-archive on expiry unless both users mutually friend each other.

Implementing AES-CBC message-content encryption on a mobile client with correct IV handling and padding.

A real trust-and-safety pipeline: video face verification with admin states, peer trust scoring, and live enforcement of suspensions through the socket.

Holding a strict MVVM structure across a large React Native codebase so the feature breadth stayed maintainable.