Skip to content
Nomeny Mitia / Andriamaheva
← Back to work

01 · 2025

Soluchat

Real-time messaging built to hold up under load.

React · TypeScript · Rust

Context

Soluchat is a real-time messaging application meant to replace an email thread between project teams spread across several time zones.

Constraints

Stack

React, TypeScript on the client. Backend in Rust, communication over WebSocket.

Decisions & trade-offs

The backend was written in Rust rather than Node: the learning cost was real, but predictable memory management and the absence of GC pauses mattered more on connections that were already fragile.

Client-side state stayed deliberately simple — no global state management library. At this scale, one would have added indirection without solving a real problem.

What didn't work

The first version reloaded the entire history on every reconnection, which made network drops very costly. Cursor-based pagination arrived in the second iteration, after measuring the impact.

Outcome

Messaging used daily by project teams, with browsable history and seamless reconnection.