Веб-морда и PWA
Основной клиент: Nuxt в режиме SPA, он же — приложение на домашнем экране.

Ставится как приложение
Манифест, иконки и service worker на месте: на iPhone страница открывается с домашнего экрана отдельным приложением, на Android — так же. Адрес веб-интерфейса показывает карточка «Это подключение» в настройках, там же кнопка «Открыть в браузере».
Уведомления
Web Push, и для него нужен https (или localhost) — без защищённого контекста браузер не даёт ни service worker, ни PushManager. В локальной сети по обычному http уведомлений в браузере не будет; они есть в приложении, в Android и в боте.
Самый простой способ получить https — туннель по кнопке.
Вкладки и второе окно
На широком экране веб-морда раскладывается вкладками и панелями: слева лента чата, справа, например, расход или файлы. Раскладка запоминается.
В браузере вкладки человек открывает сам; «открыть отдельно» значком ↗ или средним кликом есть у приложения и панели VS Code, где есть куда открывать.
Тема и масштаб
Тема (тёмная, светлая, системная), масштаб интерфейса и режим ленты живут во вкладке «Вид». Значения запоминаются в браузере, а не на сервере, — поэтому на новом устройстве их предлагают забрать с сервера при первом подключении.