Case · 2021

Gaming marketplace

Gaming marketplace with a real-time messenger. Thoughtful WebSocket handling: message queue, offline mode, SSR skeletons.

Client
Freelance
Year
2021
Scope
Frontend · WebSocket · Real-time
Duration
Oct 2021 — Jan 2022
Team
Solo on frontend · partner — backend and design

Context

A marketplace for trading in-game items. The key feature — a real-time messenger between users with reliable message delivery under any network conditions.

Solution

Built the messenger from scratch. On SSR the page is served with skeletons; on CSR, data requests and WebSocket initialization start simultaneously. While the socket is connecting, incoming messages are held in a queue and flushed once the connection is ready.

On unstable or absent internet, messages are stored locally and sent once the connection recovers. Transition animations, character limit validation.

A form for importing listings and reviews from other trading platforms.

Stack
Nuxt 3PiniaPrimeVue 3WebSocketNuxt AuthSwiper

Outcome

The messenger handles unreliable connections gracefully — messages are never lost thanks to the queue and local storage fallback.