Все кейсы

Живые курсоры посетителей в реальном времени

Мультиплеерные курсоры на портфолио-сайте. WebSocket через Nitro, SVG-аватары через свой API, рандомные никнеймы и интерактивный онлайн-бар.

NuxtWebSocketNitroTypeScript
Живые курсоры посетителей в реальном времени

Задача

Портфолио - статичная страница, посетитель один.  Хотелось добавить ощущение присутствия - чтобы люди видели друг друга на сайте.  Решение должно быть легковесным, без внешних сервисов, на том же стеке что и сайт.

Решение

Поднял WebSocket-сервер прямо в Nitro через defineWebSocketHandler - ничего дополнительного.  Каждый посетитель получает рандомный ник, цвет и SVG-аватарку через @nextorders/avatar на эндпоинте /api/avatar/[seed].  Позиции курсоров через WebSocket с throttling 50мс.  Курсоры фильтруются по странице - видишь только тех, кто на той же.  Онлайн-бар внизу показывает аватарки всех посетителей.

Результат

Сайт ощущается живым - видишь курсоры других посетителей с аватарками и именами.  Автоматический реконнект при обрыве.  Решение полностью автономное - встроенный WebSocket Nitro, никаких внешних зависимостей.

425

Похожие кейсы

Миграция платформы на React и NestJS
Переписал ядро o5.Еда с PHP/jQuery на TypeScript/React/NestJS. Модульная архитектура, типизированный API, 500+ бизнес-клиентов без простоя при переходе.
ReactTypeScriptNestJSNode.js
Пайплайн транскодирования аудио
Серверный пайплайн: загрузка FLAC/MP3/OGG, транскодирование в нужные форматы, стриминг через S3. Lossless воспроизведение в браузере с любого устройства.
NuxtTypeScriptS3Node.js
Интеграция каталога MusicBrainz
Подключил каталог MusicBrainz (127 000+ артистов), скробблинг в ListenBrainz, Telegram Mini App для мобильного доступа к библиотеке.
NuxtTypeScriptTelegram Mini App
SEO-архитектура для сайтов доставки
Отдельные страницы товаров с Schema.org разметкой, SSR, мета-теги. Клиентские сайты выходят в топ Google по локальным запросам.
NuxtTypeScriptTailwind CSS

Нужно решить похожую задачу?

Напишите - обсудим ваш проект или идею.

© 2026 Николай Косарев