Демо 23 May 2026
deneb - local-first совместный канбан
- Nuxt 3
- Yjs CRDT
- WebSocket
- Docker
Совместный канбан в реальном времени, работающий и полностью офлайн - каждая правка это бесконфликтный CRDT-апдейт с живым присутствием. Nuxt 3 + Yjs.
Задача
Канбан, который остаётся совместным в реальном времени и при этом полностью работает офлайн, сливая параллельные правки нескольких людей без центрального лока и без потери изменений.
Подход
Каждая правка - это бесконфликтный CRDT-апдейт (Yjs); каждый клиент хранит всю доску в IndexedDB и до-синхронизируется при переподключении, плюс живые курсоры присутствия по WebSocket. Релей сделан без зависимостей, чтобы движущихся частей было меньше.
Результат
Local-first доска с живыми курсорами, переживающая уход в офлайн и обратно без конфликтов. Nuxt 3 на Cloudflare Pages и y-websocket релей на VPS за Caddy.