diff --git a/smart-home-tablet-roadmap.md b/smart-home-tablet-roadmap.md
new file mode 100644
index 0000000..3e5ed98
--- /dev/null
+++ b/smart-home-tablet-roadmap.md
@@ -0,0 +1,685 @@
+# Smart Home Tablet — Roadmap / идеи развития
+
+> Связанный doc: `smart-home-tablet.md` (reference).
+> Приоритеты от «ближайшая сессия» до «эксперименты». Для каждой идеи — что даёт, что нужно от Даниила, сложность (S/M/L), зависимости.
+
+Сложность:
+- **S** — 1 сессия (до 2 часов), только код
+- **M** — 1-2 сессии, может требовать настройки на стороне
+- **L** — 3+ сессий, внешние сервисы / железо / аккаунты
+
+Статус:
+- 🟢 готово к работе, всё что нужно — сделать
+- 🟡 требует от Даниила что-то купить/настроить/зарегистрироваться
+- 🔴 нужно железо или сторонние аккаунты, которых пока нет
+
+---
+
+## 🏡 Своя экосистема — самый большой рычаг
+
+Это не «уровень», а **сквозная тема**. У Даниила уже запущены собственные приложения в `/opt/digital-home/`. Дашборд обязан быть их витриной — это сразу делает его уникальным артефактом, невозможным без этой конкретной инфраструктуры.
+
+### A. Habits-app streak widget
+**Что даёт**: виджет на Home «сегодня 3/5 привычек» с прогресс-барами. Мотивирует каждое утро смотреть.
+**От тебя**: выставить из `habits-app` JSON endpoint `/api/public/today` (или дёргать БД напрямую если контейнеры в одной сети).
+**Что нужно мне**: proxy `/api/habits` + виджет.
+**Сложность**: S · **Статус**: 🟢
+
+### B. Langlearn прогресс и streak
+**Что даёт**: «15-й день подряд · сегодня 12 слов». На выходных — мотив сделать ежедневный минимум.
+**От тебя**: endpoint из `langlearn` / `lingua-learn`.
+**Что нужно мне**: proxy + виджет с миниатюрой «осталось N новых карточек».
+**Сложность**: S · **Статус**: 🟢
+
+### C. Japan-app / trip countdown
+**Что даёт**: до поездки в Токио — countdown + чеклист («виза / билеты / hotel / suitcase»). После поездки — галерея.
+**От тебя**: API `japan-app` с датами поездки и чеклистом.
+**Что нужно мне**: виджет с большими цифрами дней и нижним рядом чеклиста.
+**Сложность**: S · **Статус**: 🟢
+
+### D. Pulse balance + текущий месяц
+**Что даёт**: «осталось 12k до конца месяца», «накоплено на Токио: 340k / 500k (68%)». Один из самых high-glance виджетов.
+**От тебя**: endpoint в `pulse-web` (предположительно уже есть `/api/savings`).
+**Что нужно мне**: виджет с прогресс-кольцами.
+**Сложность**: S · **Статус**: 🟢 (API `/api/savings` уже есть в проекте как заготовка)
+
+### E. Finance — бюджет и счета к оплате
+**Что даёт**: «электричество до 25-го · 1580₽», «интернет завтра». Раз в месяц спасает от пеней.
+**От тебя**: `finance` таблица счетов с due date.
+**Что нужно мне**: виджет + уведомления overlay в день оплаты.
+**Сложность**: S · **Статус**: 🟢
+
+### F. Adventurelog — карта поездок / воспоминания
+**Что даёт**: «3 года назад · Прага» с фото — эмоциональный хук, возврат к дашборду.
+**От тебя**: endpoint случайной точки из `adventurelog`.
+**Что нужно мне**: виджет в screensaver / photo frame режиме.
+**Сложность**: S · **Статус**: 🟢
+
+### G. Digest — сводка за день/неделю
+**Что даёт**: если у тебя уже крутится проект `digest` (собирающий какие-то ежедневные сводки) — показывать их здесь.
+**От тебя**: уточнить что именно `digest` агрегирует.
+**Что нужно мне**: виджет с последним дайджестом.
+**Сложность**: S · **Статус**: 🟡 (нужно понять что там)
+
+### H. Homelab-api — здоровье всех твоих сервисов
+**Что даёт**: маленькая строка в TopBar — «все 18 сервисов OK», при красном — детальный список кто упал.
+**От тебя**: endpoint из `homelab-api` со статусом всех docker-контейнеров.
+**Что нужно мне**: виджет + фоновый polling.
+**Сложность**: S · **Статус**: 🟢
+
+**Почему это важно сделать раньше внешних интеграций**: потому что твоя экосистема — это то, что делает дашборд **твоим**. Погода и трамваи есть у всех. Habits+langlearn+pulse+trip countdown в одном месте — нет ни у кого. Это отличает «очередной дашборд» от «артефакта твоей жизни».
+
+---
+
+## 🎯 Уровень 1 — ближайшие 2-3 сессии
+
+### 1. PWA standalone + Fully Kiosk Browser
+**Что даёт**: планшет выглядит как нативное приложение — fullscreen, auto-wake от движения, защита от выхода, иконка на home screen, без адресной строки.
+**От тебя**: установить FKB на планшет по инструкции `smart-home-tablet-fkb-setup.md`. Опционально купить FKB-лицензию €7 (снимает watermark, открывает Remote Admin).
+**Что нужно сделать мне**: добавить `manifest.json` + service worker (offline fallback) в Next.js; apple-touch-icon.
+**Сложность**: S · **Статус**: 🟢
+
+### 2. WebSockets Home Assistant вместо polling
+**Что даёт**: мгновенные обновления состояний устройств. Сейчас polling каждые N секунд — пропуск событий и лишняя нагрузка.
+**От тебя**: ничего (long-lived token у тебя уже есть).
+**Что нужно мне**: переписать `hooks/useHA.ts` на WebSocket API HA (`/api/websocket`), subscribe_events + get_states initial. Fallback на polling если WS не поднялся.
+**Сложность**: M · **Статус**: 🟢
+
+### 3. Яндекс.Станция виджет
+**Что даёт**: видишь что играет, контроль громкости, таймеры Алисы на планшете.
+**От тебя**: у тебя уже есть Станция Лайт/Мини? Если да — добавить [AlexxIT/YandexStation](https://github.com/AlexxIT/YandexStation) интеграцию в Home Assistant (требует логин в Я.Аккаунт через HACS).
+**Что нужно мне**: виджет `` на Home: текущий трек, пилюли «громкость −/+», «пауза», таймеры. Через HA entities `media_player.yandex_station_*`.
+**Сложность**: M · **Статус**: 🟡 зависит от того, есть ли Станция в HA
+
+### 4. Утренний режим (morning briefing)
+**Что даёт**: с 7:00 до 10:00 Home показывает другую раскладку — большое «что надеть» (температура + рекомендация «+2°C лёгкая куртка»), walking-time до трамвая с пометкой «успеешь/бежать», события на сегодня.
+**От тебя**: ничего.
+**Что нужно мне**: условный рендер `` по часу, логика одевалки (температура + осадки + ветер → текст), кэш walking-time (Google/OSRM API или хардкод).
+**Сложность**: S · **Статус**: 🟢
+
+### 5. Shared shopping list через Telegram-бот
+**Что даёт**: Света со своего телефона пишет боту `/add молоко` — пункт появляется в списке на планшете. Замыкает семейный use case.
+**От тебя**:
+ - Создать Telegram-бота через @BotFather, получить token (~2 минуты)
+ - Создать чат «Семья» с ботом и Светой
+**Что нужно мне**:
+ - Endpoint `/api/telegram/webhook` → парсит сообщения, дёргает `/api/notes` PUT
+ - Скрипт установки webhook на старте контейнера
+ - Разделение списков per-user (или общий «семейный»)
+**Сложность**: M · **Статус**: 🟡
+
+### 6. Выбор остановок транспорта из UI
+**Что даёт**: в Settings выбираешь остановки по поиску названия — избавляешься от хардкода `16226`/`16354`. Поддержка N остановок.
+**От тебя**: ничего.
+**Что нужно мне**:
+ - Cron в `/api/transport/feed` — раз в неделю скачивает GTFS, парсит `stops.txt`
+ - Endpoint `/api/transport/search?q=названия`
+ - UI в Settings: поиск + список избранных
+ - Сохранение в `/data/tablet-config.json`
+**Сложность**: M · **Статус**: 🟢
+
+### 7. Контекстные подсказки
+**Что даёт**: в углу TopBar маленький бар с «Дождь к 15:00, не забудь зонт», «Света выехала с работы — будет через 20 мин», «ДР Светы через 3 дня».
+**От тебя**: ничего критичного. Для «Света едет домой» — мобильное HA-приложение на её телефоне с device_tracker.
+**Что нужно мне**: rules-engine, комбинирующий погоду / календарь / HA device trackers. Приоритизация (один бар = одна самая важная подсказка).
+**Сложность**: M · **Статус**: 🟡 (для геолокации)
+
+### 7b. Cooking mode
+**Что даёт**: отдельный полноэкранный режим для готовки. Scroll-lock (экран не гаснет), шрифт крупный (24-28px), таймеры всегда видны, один рецепт на экране. Активируется кнопкой «Готовлю» с Home или автоматически когда идёшь к Я.Станции на кухне (если Света где-то настроит).
+**От тебя**: ничего. Опционально — база рецептов (можно потом).
+**Что нужно мне**:
+ - `/cooking` route с отдельным layout
+ - Wake Lock API (`navigator.wakeLock`) — экран не засыпает
+ - Крупные таймеры, голосовое «окей, +5 минут» опционально
+**Сложность**: M · **Статус**: 🟢
+
+### 7c. Service Worker + offline fallback + состояние между релоадами
+**Что даёт**: при отвале WiFi приложение не белеет, а показывает последние данные. Плюс сохранение последней активной вкладки, фильтров календаря, выбранной остановки — чтобы F5 не сбрасывал контекст.
+**От тебя**: ничего.
+**Что нужно мне**: SW с stale-while-revalidate для API, persistent zustand store в `localStorage`.
+**Сложность**: M · **Статус**: 🟢
+
+---
+
+## 🔜 Уровень 2 — ближайший месяц
+
+### 8. Walking-time до остановок (для утреннего режима)
+**Что даёт**: «ближайший 23-й через 4 мин, до остановки 6 мин — не успеешь». Приоритизация маршрутов.
+**От тебя**:
+ - Примерные координаты дома (или точный адрес)
+ - Опционально OpenRouteService API key (бесплатный)
+**Что нужно мне**: fetch к OSRM / ORS, кэш в `/data/walking-times.json`.
+**Сложность**: S · **Статус**: 🟡
+
+### 9. Meal planner (меню на неделю)
+**Что даёт**: планировщик еды: 7 ячеек × (завтрак/обед/ужин), совместное редактирование, из шаблонов.
+**От тебя**: сформулировать формат — какие блюда в ротации, кто готовит.
+**Что нужно мне**:
+ - `/api/meals/route.ts` + storage в `/data/meals.json`
+ - Отдельная вкладка «Меню» или интеграция в Notes
+ - Сгенерировать shopping list из выбранных блюд (links между meals и ingredients)
+**Сложность**: L · **Статус**: 🟢
+
+### 10. Рецепты из продуктов (Claude API)
+**Что даёт**: вводишь «что есть в холодильнике» → Claude предлагает 3 рецепта.
+**От тебя**:
+ - Anthropic API key (личный, ~€5 депозита = ~500 запросов)
+ - Положить в `tablet.env` как `ANTHROPIC_API_KEY`
+**Что нужно мне**: `/api/recipes/route.ts` с prompt caching (история ингредиентов), UI-форма.
+**Сложность**: S · **Статус**: 🟡
+
+### 11. Семейная геолокация (Даниил / Света)
+**Что даёт**: маленькая пилюля «Света · 15 мин до дома / на работе / неизвестно». Триггеры для подсказок («Света едет» → поставь чайник).
+**От тебя**:
+ - Установить **Home Assistant Companion App** на телефон Даниила и Светы
+ - В HA настроить device_tracker + zones (Дом, Работа)
+ - Договориться что это ок для Светы (privacy check)
+**Что нужно мне**: виджет в TopBar или маленький бар на Home, читает `device_tracker.*` из HA.
+**Сложность**: S (код) + M (настройка HA) · **Статус**: 🟡
+
+### 12. Быстрые кнопки на Home (Quick Actions)
+**Что даёт**: «Новая заметка», «Таймер 10 мин», «Выключить свет везде», «Чайник» — одним тапом с главной.
+**От тебя**: сформулировать какие именно кнопки тебе нужны (реально нужны в быту).
+**Что нужно мне**: конфиг `QUICK_ACTIONS` с иконкой + onClick (может звать HA scene, открывать модалку, etc.).
+**Сложность**: S · **Статус**: 🟢
+
+### 13. Таймеры (кухонные)
+**Что даёт**: «чайник 5 мин», «паста 9 мин» — старт с Home, визуальный отсчёт, звук по окончании.
+**От тебя**: ничего. Опционально — разрешить звук в FKB (Settings → Audio).
+**Что нужно мне**: компонент `` с state в `/data/tablet-timers.json` (чтобы пережил F5), WebAudio для звука.
+**Сложность**: S · **Статус**: 🟢
+
+### 14. Напоминалки (лекарства / витамины / полив цветов)
+**Что даёт**: «Прими витамин D», «Полей монстеру». Чекбоксы истории — кликаешь «принял», пропадает.
+**От тебя**: сформулировать что напоминать и когда.
+**Что нужно мне**:
+ - `/api/reminders/route.ts` + storage
+ - Cron-like schedule в UI (ежедневно в 10:00, каждые 3 дня, etc.)
+ - Показ активных напоминалок на Home
+**Сложность**: M · **Статус**: 🟢
+
+### 15. Счётчик дней / countdown
+**Что даёт**: «До отпуска Токио 47 дней», «ДР Светы через 5 дней», «Последний трамвай 23 через 3 часа».
+**От тебя**: список событий с датами.
+**Что нужно мне**: виджет ``, конфиг в `/data/tablet-countdowns.json`, UI в Settings.
+**Сложность**: S · **Статус**: 🟢
+
+### 16. Swipe-жесты вкладок
+**Что даёт**: свайп между Home/Devices/Calendar/Notes/Settings влево-вправо.
+**От тебя**: ничего.
+**Что нужно мне**: framer-motion drag на ``, snap к соседним вкладкам.
+**Сложность**: S · **Статус**: 🟢
+
+### 17. Bill / subscription tracker
+**Что даёт**: «электричество до 25-го · 1580₽», «YouTube Premium завтра», «интернет через 3 дня». Маленький виджет, огромная польза — раз в месяц спасает от пеней.
+**От тебя**: список своих счетов с датами и суммами, либо интеграция с `finance` проектом.
+**Что нужно мне**: `/api/bills/route.ts` с JSON-хранилищем, UI в Settings для ввода, виджет-бар + overlay-alert в день оплаты.
+**Сложность**: S · **Статус**: 🟢
+
+### 18. Expense capture по фото чека
+**Что даёт**: сфоткал чек в магазине → OCR вытаскивает сумму / магазин / дату → автоматически в pulse / finance. Убирает ежедневное «надо записать, а я забыл».
+**От тебя**:
+ - [Tesseract.js](https://tesseract.projectnaptha.com/) (бесплатно, в браузере) **или** Claude API с vision (~€0.01/чек)
+ - Разрешить камеру FKB (уже должно быть)
+**Что нужно мне**: UI-кнопка «сфоткать чек» → фото → OCR/AI → preview → подтверждаешь → сохраняется. Интеграция с pulse.
+**Сложность**: M · **Статус**: 🟡
+
+### 19. Photo frame режим
+**Что даёт**: отдельный режим (не screensaver!) — когда в квартире никого, **слайдшоу семейных фото** с подписью «5 лет назад, Прага». Эмоциональный возвратный хук.
+**От тебя**: у тебя Nextcloud уже развёрнут в `/opt/digital-home/nextcloud/` — достать папку с фото через WebDAV. Альтернатива — Google Photos (ограничен последним годом).
+**Что нужно мне**:
+ - `/api/photos/random` → достаёт случайное фото
+ - `` как альтернативный screensaver после 20+ мин бездействия
+ - Плавный fade между фото, минималистичная подпись с датой
+**Сложность**: M · **Статус**: 🟡 (нужно расчехлить Nextcloud API)
+
+> Пункт «Offline mode / Service Worker» объединён с 7c выше.
+
+---
+
+## 🗓 Уровень 3 — средний срок (1-3 месяца)
+
+### 18. Telegram bridge (ответы с планшета)
+**Что даёт**: приходит сообщение → уведомление на планшете → можно ответить оттуда.
+**От тебя**:
+ - Отдельный Telegram-аккаунт для планшета **или** Bot API (тогда только в чат с ботом)
+ - Либо userbot (MTProto) — сложнее, но отвечает от твоего имени (риск бана аккаунта при нарушении ToS)
+**Что нужно мне**: pyrogram/gramJS клиент как микросервис + WS в приложение.
+**Сложность**: L · **Статус**: 🟡
+
+### 19. Виджет задач Vikunja
+**Что даёт**: чеклист задач на сегодня с галочками. API `/api/tasks` уже есть.
+**От тебя**: сказать какой список в Vikunja считать «на сегодня» (projectId).
+**Что нужно мне**: подключить `/api/tasks` к виджету на Home, синхронизация.
+**Сложность**: S · **Статус**: 🟢
+
+### 20. Виджет накоплений Pulse
+**Что даёт**: прогресс-бары финансовых целей («Токио: 68% · 340k / 500k»).
+**От тебя**: ничего, API уже готов.
+**Что нужно мне**: виджет + интеграция.
+**Сложность**: S · **Статус**: 🟢
+
+### 21. Камеры наблюдения
+**Что даёт**: превью камер во дворе / подъезде (если есть). При звонке в дверь — снапшот overlay.
+**От тебя**:
+ - IP-камеры в доме (RTSP-стрим) — у тебя есть?
+ - Настройка Frigate / WebRTC-моста в HA
+**Что нужно мне**: iframe с Frigate стримом или webrtc-card интеграция.
+**Сложность**: L · **Статус**: 🔴 нужно железо
+
+### 22. Doorbell + motion detection
+**Что даёт**: уведомление «звонок в дверь» с фото. «Пришла посылка» если camera видит курьера.
+**От тебя**: умный звонок (Aqara G4 / Ring) или IP-камера у двери + Frigate person detection.
+**Что нужно мне**: notification-overlay на весь экран с кнопкой «открыть».
+**Сложность**: M (код) + L (железо/настройка) · **Статус**: 🔴
+
+### 23. Медиа-контроль (Spotify / Я.Музыка / Apple Music)
+**Что даёт**: что играет на любом устройстве (телефон / колонка / комп) + pause/skip.
+**От тебя**:
+ - Spotify: developer account + client ID (бесплатно)
+ - Я.Музыка: неофициальное API, ломается иногда
+**Что нужно мне**: oauth flow для Spotify, хранение refresh token в `/data/`.
+**Сложность**: M · **Статус**: 🟡
+
+### 24. IR-бластер (управление TV / AC)
+**Что даёт**: с планшета включить телевизор, поменять канал, кондиционер на +2°C.
+**От тебя**: IR-бластер (Broadlink RM4 Pro или Aqara — ~2500₽), настройка в HA с «обучением» пульта.
+**Что нужно мне**: UI-пульт в Devices tab.
+**Сложность**: M (код) + M (обучение пультов) · **Статус**: 🔴 нужно железо
+
+### 25. Робот-пылесос
+**Что даёт**: запустить уборку с планшета, карта уборки.
+**От тебя**: пылесос с HA-интеграцией (Xiaomi / Roborock через miio) и настройка в HA.
+**Что нужно мне**: кнопка-виджет на Home или вкладке Devices.
+**Сложность**: S · **Статус**: 🔴 нужен пылесос
+
+### 26. Энергомониторинг
+**Что даёт**: графики потребления за день/неделю. «Сегодня +15% от среднего».
+**От тебя**: умный счётчик / умные розетки с watt-meter (Shelly / Aqara).
+**Что нужно мне**: интеграция через HA, chart.js.
+**Сложность**: M (код) + L (железо) · **Статус**: 🔴
+
+### 27. Трекер посылок
+**Что даёт**: «CDEK CN9876 — в городе, завтра на выдачу», «Ozon — курьер в пути».
+**От тебя**: копировать трек-номера вручную в UI, либо скрапер сделки/Ozon (API у них приватное, риск бана).
+**Что нужно мне**:
+ - Скорее всего платный [17track.net API](https://api.17track.net/) (€, но универсальный трекинг)
+ - Либо самопис скраперов (хрупко)
+**Сложность**: M · **Статус**: 🟡 (если 17track)
+
+### 28. Курс валют / бензин
+**Что даёт**: USD/EUR/₽ маленькой строкой, цена бензина АИ-95 по району.
+**От тебя**: ничего.
+**Что нужно мне**: ЦБ РФ XML API (бесплатный), цена бензина через открытые источники (скрапер или yandex.ru/maps POI).
+**Сложность**: S · **Статус**: 🟢
+
+### 29. Новости (RSS + Telegram каналы)
+**Что даёт**: 3 топ-заголовка раз в час из выбранных источников.
+**От тебя**: список RSS и/или Telegram-каналов.
+**Что нужно мне**: rss-parser lib + Telegram Bot API (Bot может читать public channels).
+**Сложность**: M · **Статус**: 🟡
+
+### 29a. Wake word («Окей, планшет»)
+**Что даёт**: голосовая активация для рук-занятых ситуаций: «окей планшет, таймер 10 минут», «окей планшет, добавь молоко в список». Меняет способ использования на кухне.
+**От тебя**: ничего (работает локально, без облака).
+**Что нужно мне**:
+ - [Porcupine](https://github.com/Picovoice/porcupine) — локальное wake-word detection, бесплатно до 3 wake-words
+ - После триггера — Web Speech API для следующей команды
+ - Маппинг команд: «таймер N минут» → запустить таймер, «добавь X в список» → call API
+**Сложность**: L · **Статус**: 🟡
+
+### 29b. Guest mode с WiFi QR
+**Что даёт**: приходят гости → кнопка «Режим гостей» → большой QR с паролем гостевой WiFi + часы/погода, без PIN, без твоих данных. Маленький ритуал, но работает каждый раз.
+**От тебя**:
+ - Гостевая WiFi-сеть на роутере (MikroTik/Keenetic — 5 минут)
+ - QR-код хранишь как SVG в настройках
+**Что нужно мне**: `/guest` route без middleware + отдельный layout.
+**Сложность**: S · **Статус**: 🟡
+
+### 29c. Health / Sleep integration
+**Что даёт**: «вчера спал 6ч 20м, восстановление 62%», «сегодня 8k шагов». Если пересыпание или много ходьбы — подсветка в утреннем режиме (кофе / «молодец»).
+**От тебя**: фитнес-трекер с HA интеграцией:
+ - Mi Band + [Gadgetbridge](https://gadgetbridge.org/) на Android-хабе
+ - **или** Fitbit через [HA Fitbit integration](https://www.home-assistant.io/integrations/fitbit/) (OAuth)
+ - **или** Apple Health → через [Homebridge](https://homebridge.io/) сложно, только через iOS shortcut
+**Что нужно мне**: виджет «сон и активность» на Home, подсветка в morning mode.
+**Сложность**: M (код) + M (настройка) · **Статус**: 🟡
+
+---
+
+## 🧪 Уровень 4 — эксперименты (когда захочется)
+
+### 30. Scanner штрих-кодов для shopping list
+**Что даёт**: планшет сканирует штрих-код товара → добавляет в список. Запоминает «4606036017412 = молоко».
+**От тебя**: разрешить камеру в FKB.
+**Что нужно мне**: `@zxing/library` WebAssembly barcode reader, локальный словарь штрих-кодов.
+**Сложность**: M · **Статус**: 🟢
+
+### 31. QR выгрузка списка покупок на телефон
+**Что даёт**: в списке есть кнопка «QR» — сканируешь с телефона, открывается компактная mobile-страница этого же списка (без PIN, временный URL).
+**От тебя**: ничего.
+**Что нужно мне**: генератор короткоживущих токенов, mobile view.
+**Сложность**: S · **Статус**: 🟢
+
+### 32. Фото-скринсейвер из Google Photos / Nextcloud
+**Что даёт**: во время screensaver плавный слайдшоу семейных фото.
+**От тебя**:
+ - Google Photos: ограничен, API отдаёт только media items за последний год
+ - Nextcloud: если у тебя уже развёрнут (вижу в `/opt/digital-home/nextcloud/`) → `/remote.php/dav/` WebDAV
+**Что нужно мне**: fetch случайной фотки, предзагрузка.
+**Сложность**: M · **Статус**: 🟡 (твой Nextcloud уже готов)
+
+### 33. Мини-игры для гостей
+**Что даёт**: простые игры — память, 2048, сапёр. Чтобы гостям / детям занять 5 минут.
+**От тебя**: ничего.
+**Что нужно мне**: отдельная вкладка или секция в Home.
+**Сложность**: M · **Статус**: 🟢
+
+### 34. Гостевой режим
+**Что даёт**: открыть UI без PIN, но в ограниченном виде (только время+погода, без календаря и заметок).
+**От тебя**: ничего.
+**Что нужно мне**: отдельный read-only pub URL `/guest` без middleware.
+**Сложность**: S · **Статус**: 🟢
+
+### 35. Голосовой ассистент на планшете
+**Что даёт**: «Окей, дом — таймер на 5 минут», «Добавь в список молоко».
+**От тебя**:
+ - Для offline распознавания — Rhasspy или Vosk
+ - Для Whisper API — Anthropic/OpenAI key (платно)
+**Что нужно мне**: Web Speech API (браузерное, но требует onlineGoogle в Chrome) → либо кастомный микросервис STT на сервере.
+**Сложность**: L · **Статус**: 🟡
+
+### 36. Multi-user профили (Даниил + Света)
+**Что даёт**: два PIN, две темы, два избранных набора (остановки / заметки / календарные фильтры).
+**От тебя**: ничего.
+**Что нужно мне**: переделка auth — user slot, namespaced storage.
+**Сложность**: L · **Статус**: 🟢
+
+### 37. Weekly digest / summary
+**Что даёт**: воскресное напоминание «за неделю: 12 событий / 3 поездки / 5 заметок».
+**От тебя**: ничего.
+**Что нужно мне**: агрегатор со стораджа, показ overlay по воскресеньям.
+**Сложность**: S · **Статус**: 🟢
+
+### 38. Фаза луны / восход-закат / магнитные бури
+**Что даёт**: тонкий inline-виджет («Закат 20:47 · полная луна 🌕 · магнит. спокойно»).
+**От тебя**: ничего (открытые API).
+**Что нужно мне**: SunCalc + API Tesis/Spaceweather.
+**Сложность**: S · **Статус**: 🟢
+
+### 39. Качество воздуха снаружи
+**Что даёт**: сравнение PM2.5 внутри (из очистителя) vs на улице. Если снаружи хуже — «закрой окна».
+**От тебя**: ничего.
+**Что нужно мне**: OpenAQ / AirPollution API (бесплатно), виджет.
+**Сложность**: S · **Статус**: 🟢
+
+### 40. Пробки / яндекс-карта
+**Что даёт**: embed карты с пробками. Или собственный виджет «трафик СПб 5/10».
+**От тебя**: Yandex Maps API ключ (бесплатный при низком трафике).
+**Что нужно мне**: iframe или канвас.
+**Сложность**: S · **Статус**: 🟡
+
+### 41. Интерактивный план квартиры (SVG floor plan)
+**Что даёт**: схема квартиры с клик-устройствами прямо на плане комнат.
+**От тебя**: план квартиры (нарисовать в Figma / SVG).
+**Что нужно мне**: SVG редактор-viewer, маппинг точек на devices.
+**Сложность**: L · **Статус**: 🟡
+
+### 42. Такси / eда (deep links)
+**Что даёт**: кнопка «Такси до работы» открывает Yandex.Taxi deep-link с заданным адресом.
+**От тебя**: ничего (deep links не требуют API).
+**Что нужно мне**: просто ``.
+**Сложность**: S · **Статус**: 🟢
+
+### 43. Автотема по времени суток
+**Что даёт**: утром — светлая тема, вечером — тёмная. С опцией «следовать за закатом» (по локации).
+**От тебя**: ничего.
+**Что нужно мне**: cron-подобный useEffect, чекбокс в Settings.
+**Сложность**: S · **Статус**: 🟢
+
+### 44. Backup / Export заметок
+**Что даёт**: раз в день JSON-дамп всех данных в `/data/backups/`. Кнопка «Экспорт всё» в Settings.
+**От тебя**: ничего.
+**Что нужно мне**: cron внутри приложения (setInterval), clean-up старых бэкапов.
+**Сложность**: S · **Статус**: 🟢
+
+### 45. Error boundary + Sentry
+**Что даёт**: вместо белого экрана при краше — friendly fallback + автоматический репорт.
+**От тебя**: Sentry free tier (5k events/month).
+**Что нужно мне**: `@sentry/nextjs`, error boundary.
+**Сложность**: S · **Статус**: 🟡
+
+### 46. Relationship / surprise layer
+**Что даёт**: скрытая секция, которую видно только с PIN Даниила: годовщина («92 дня с тобой», «цветы Свете в следующую пятницу»), напоминания про подарки, history ссылок что ей понравилось в соцсетях. Маленькая, но эмоционально очень сильная фича.
+**От тебя**: ничего, но сформулировать что именно хочешь напоминать.
+**Что нужно мне**:
+ - Отдельный namespace в storage (encrypted или просто гейт по PIN)
+ - Countdown-миксин с существующим виджетом
+ - Настройки «закрытых» напоминалок
+**Сложность**: M · **Статус**: 🟢 · **Зависимость**: #36 (multi-user)
+
+### 47. NFC / QR физические триггеры
+**Что даёт**: метка на прикроватной тумбочке → тапнул телефоном → планшет переключается в «ночной режим» + HA гасит свет. Метка в прихожей → «ухожу» сценарий. Физическое ощущение управления домом.
+**От тебя**:
+ - NFC-метки (NTAG213 ~50₽/шт, 10 штук на Ozon ~500₽)
+ - Настройка Shortcuts на iOS / NFC Tools на Android — тап открывает URL типа `https://tablet.digital-home.site/trigger/night`
+**Что нужно мне**: `/trigger/{name}` route, выполняющий preset HA-сцену.
+**Сложность**: S (код) + S (настройка меток) · **Статус**: 🟡
+
+### 48. Health endpoint и мониторинг самого дашборда
+**Что даёт**: `/api/health` для Uptime Kuma (уже развёрнут у тебя), алерт если tablet.digital-home.site лежит дольше 5 минут.
+**От тебя**: добавить target в свой Uptime Kuma (это меньше минуты).
+**Что нужно мне**: `/api/health` endpoint отдающий `{ok: true, uptime, version}`.
+**Сложность**: S · **Статус**: 🟢
+
+### 49. Feature flags / widget enable toggles
+**Что даёт**: в Settings «включить/выключить виджет X» без редеплоя. Когда виджетов 15+, одни будут нужны Свете, другие Даниилу.
+**От тебя**: ничего.
+**Что нужно мне**: конфиг в `/data/tablet-config.json` + conditional rendering.
+**Сложность**: S · **Статус**: 🟢
+
+### 50. Internationalization (RU / EN toggle)
+**Что даёт**: для гостей (если придут иностранцы) или если Даниил хочет «поработать на английском».
+**От тебя**: ничего.
+**Что нужно мне**: i18n ключи, переключалка в Settings. Большое количество строк — нетривиально.
+**Сложность**: L · **Статус**: 🟢
+
+---
+
+## Что я бы делал следующим (если бы решал сам)
+
+1. **Своя экосистема** (A–H) — хотя бы 2-3 виджета (habits streak, pulse balance, homelab health). Это то, что делает дашборд **твоим**, а не «ещё один погодный виджет».
+2. **PWA + Fully Kiosk** (идея #1) — фундамент для «это выглядит как appliance»
+3. **WebSockets HA** (идея #2) — больше всего wow за трудозатрат, особенно если потом добавишь реальные устройства
+4. **Утренний режим** (идея #4) — сразу новая модальность дашборда
+5. **Telegram shopping bot** (идея #5) — замыкает Свету в семейный сценарий
+6. **Cooking mode** (7b) — специфичный ритуал, сильно меняет восприятие
+7. **Выбор остановок из UI** (идея #6) — убирает хардкод, делает виджет конфигурируемым
+
+---
+
+## Что нужно от Даниила в порядке подготовки
+
+| Подготовка | Зачем | Срочность |
+|---|---|---|
+| Установить Home Assistant Companion на телефон | геолокация, motion-wake, quick controls | высокая |
+| Создать Telegram-бота (`@BotFather`) | shopping list bridge, notifications | средняя |
+| Anthropic API key | рецепты, GPT-based фичи | средняя |
+| План квартиры в SVG | интерактивный floor plan | низкая |
+| Купить лицензию FKB €7 | снять watermark, remote admin | низкая |
+| Купить IR-бластер (Broadlink RM4) | управление TV/AC с планшета | низкая |
+| Добавить Я.Станцию в HA | виджет Я.Станции на home | средняя |
+| Завести Sentry-проект | error monitoring | низкая |
+| Завести OpenRouteService API key | walking times | средняя |
+| Завести Spotify Developer App | media control | низкая |
+
+Срочность = субъективная оценка пользы в ежедневном использовании.
+
+---
+
+## Что стоит обсудить прежде чем делать
+
+- **Приватность геолокации Светы** — она согласна?
+- **Анонимность vs удобство** — храним ли историю команд, логи Telegram-сообщений? Компромисс: хранить 7 дней.
+- **Hard-коды vs конфиг** — каждая новая фича = либо в `/data/tablet-config.json`, либо UI в Settings. UI в Settings — дольше, но красиво.
+- **Одна вкладка или много виджетов?** — текущий подход bento на Home ограничен по высоте. Когда добавим 5+ виджетов, нужна ли отдельная «widget board»?
+- **Общая семейная БД или per-user?** — сейчас всё shared. Multi-user ломает storage API, но может быть нужен.
+
+---
+
+---
+
+## ✅ Что уже сделано (по состоянию на 23.04.2026)
+
+Вычёркиваем из будущего — не путаемся.
+
+- [x] **Базовая bento-сетка Home** (редизайн 23.04)
+- [x] **Семантические CSS-токены** (`--surface-1/2/3`, `--border-subtle`, etc.) — тёмная и светлая темы перестали ломаться
+- [x] **TopBar с приветствием в центре** (3-col grid: часы · приветствие · сенсоры+HA)
+- [x] **Виджет трамваев ОРГП СПб** — 23/27/39 × 2 направления, живые прибытия каждые 30с
+- [x] **Заметки с датой** (`pinDate`) + swipe-to-delete
+- [x] **Forecast swipe** между днями в модалке погоды + dot-indicator
+- [x] **Night-shift tint** (22:00–06:00 — тёплый оранжевый оверлей)
+- [x] **Календарь** — CRUD, два владельца (Даниил + Света), фильтры, редактирование inline
+- [x] **Screensaver** — 2 минуты idle → часы+погода
+- [x] **PIN-авторизация** с HMAC cookie на 1 год
+- [x] **Volume-mount `/data`** — заметки и PIN переживают редеплой
+- [x] **Календарь — Moscow TZ fix** — сегодняшние события теперь показываются сразу в 00:00 МСК
+- [x] **All-day events fix** — end.date = next day + clear opposite field
+- [x] **Tab transitions** — mode=sync, без чёрного моргания
+- [x] **Анимированная погода SVG** + ambient orbs меняющие цвет от погоды
+- [x] **7-дневный прогноз с daily details** (feels-like, осадки, ветер, влажность на день)
+- [x] **Device animations** — fan-spin, light-pulse, device-breathe
+
+---
+
+## 📊 Value × Effort матрица (для быстрого сканирования)
+
+«Value» — субъективный glance-эффект в ежедневном использовании (1-5).
+«Effort» — время на реализацию (1-5, где 5 = L сложность).
+
+Правый-верхний угол = делать в первую очередь. Левый-нижний = не делать совсем.
+
+| Идея | Value | Effort | Value/Effort |
+|---|:-:|:-:|:-:|
+| (A) Habits streak widget | 5 | 1 | **5.0** ⭐ |
+| (D) Pulse balance | 5 | 1 | **5.0** ⭐ |
+| 4. Утренний режим | 5 | 2 | **2.5** |
+| 7b. Cooking mode | 4 | 2 | **2.0** |
+| 17. Bill tracker | 4 | 1 | **4.0** ⭐ |
+| 15. Countdown (Токио) | 4 | 1 | **4.0** ⭐ |
+| 2. WebSockets HA | 4 | 3 | 1.3 |
+| 5. Telegram shopping bot | 5 | 3 | 1.7 |
+| 1. PWA + FKB | 5 | 2 | **2.5** |
+| 8. Walking-time | 5 | 1 | **5.0** ⭐ |
+| 6. Выбор остановок из UI | 3 | 3 | 1.0 |
+| 3. Яндекс.Станция | 4 | 3 | 1.3 |
+| 7. Контекстные подсказки | 5 | 3 | 1.7 |
+| 13. Таймеры | 4 | 1 | **4.0** ⭐ |
+| 19. Photo frame | 3 | 3 | 1.0 |
+| 29a. Wake word | 5 | 5 | 1.0 |
+| 10. Рецепты AI | 3 | 2 | 1.5 |
+| 25. Робот-пылесос | 2 | 1 | 2.0 (только при наличии) |
+| 35. Voice assistant | 4 | 5 | 0.8 |
+| 41. Floor plan | 2 | 5 | 0.4 |
+
+⭐ — «немедленные победы» (V/E ≥ 4). Эти делаем **первыми**, независимо от уровня.
+
+---
+
+## 🔗 Граф зависимостей
+
+Что блокирует что. Узлы слева — фундамент, справа — надстройки.
+
+```
+Свой API экосистемы (habits, pulse, langlearn)
+ ↓
+1. PWA + FKB ─────────────────┐
+ ↓ │
+4. Утренний режим ←── 8. Walking-time
+ │
+2. WebSockets HA ─────────────┼──→ 3. Я.Станция виджет
+ ↓ │
+7. Контекстные подсказки ←────┤
+ │
+11. Геолокация ───────────────┤
+ │
+5. Telegram bot ──────────────┼──→ 18. Telegram bridge (ответы)
+ ↓ │
+Shared lists/notes ←──────────┘
+
+36. Multi-user ───→ 46. Relationship layer (private)
+
+29a. Wake word ───→ 13. Таймеры (voice-activated)
+ └──→ 35. Voice assistant (full)
+
+17. Feature flags ───→ 21-28. Все conditional виджеты
+```
+
+**Вывод**: PWA/FKB и WebSockets — узкие места. Без них половина фич Level 2-3 бессмысленна.
+
+---
+
+## 🤔 Build vs Buy — что можно не писать самому
+
+Прежде чем писать фичу, проверить: нет ли готового?
+
+| Фича | Готовое решение | Стоит ли писать своё? |
+|---|---|---|
+| HA dashboard (кнопки устройств) | [HA Lovelace](https://www.home-assistant.io/dashboards/), [Bubble Card](https://github.com/Clooos/Bubble-Card), [Mushroom Cards](https://github.com/piitaya/lovelace-mushroom) | ❌ Не стоит — Bubble/Mushroom лучше нашего Devices tab, и они уже встроены в HA |
+| Погода + календарь dashboard | [MagicMirror²](https://magicmirror.builders/) | ⚠️ Можно, но MM² для зеркал, не для планшетов; наш UX лучше |
+| Kiosk mode | **Fully Kiosk Browser** | ✅ Покупаем, не пишем |
+| Telegram bot для shopping | [Grocy](https://grocy.info/) + их Telegram интеграция | ⚠️ Grocy огромен для нашей задачи, проще свой бот |
+| Recipe recognition | Существующие приложения типа Yummly | ❌ Но свой через Claude API = контролируемо |
+| Voice assistant | **Home Assistant Voice Preview Edition** (железка от HA за ~$60) или [Rhasspy](https://rhasspy.readthedocs.io/) | ⚠️ HA Voice — зрелое решение, стоит попробовать вместо своего |
+| Password manager на планшете | **Vaultwarden** (уже установлен в `/opt/digital-home/vault/`) | ✅ Использовать готовое, добавить autofill |
+| Photo frame | Android стандартный Daydream + Google Photos / Simple Gallery | ⚠️ Стандартный Daydream не персонализирован под наш проект, но можно использовать как fallback |
+| Bill tracker | [Firefly III](https://www.firefly-iii.org/) | ⚠️ Ogromen для одной фичи, проще свой |
+| News reader | [Miniflux](https://miniflux.app/) + iframe | ✅ Можно положить iframe на отдельную вкладку |
+
+**Правило**: если готовое закрывает 80% задачи — использовать его и встроить через iframe/API. Писать своё имеет смысл только если нужна тесная интеграция с другими виджетами (например, погода влияет на контекстную подсказку про зонт → это нельзя в iframe с MagicMirror).
+
+---
+
+## 🚫 Что отвергнуто (чтобы не возвращаться)
+
+Идеи, которые обсудили и решили **не делать**:
+
+- **Интерактивный план квартиры** (#41) — слишком много ручной работы по SVG, использовать будем раз в месяц. Лучше отдельная вкладка «Устройства по комнатам» с эмодзи.
+- **Мини-игры для гостей** (#33) — гости предпочтут свой телефон. Не наш конкурентный домен.
+- **Ежедневные ручные чек-боксы привычек** — через неделю забросишь. Habits-app делает это правильно через дофамин-цикл, дашборд просто показывает оттуда.
+- **Множественные квартирные планшеты (кухня + коридор + спальня)** — не сейчас. Один планшет, если реально нужно — покупаем ещё, но дашборд один.
+- **Реклама / внешние push** — never.
+
+---
+
+## 🗓️ Рекомендуемая последовательность на ближайший месяц
+
+### Неделя 1 (пока планшет в пути)
+- Создать Telegram-бота (@BotFather) → token в `tablet.env`
+- Install HA Companion на свой телефон → настроить device_tracker + zone «Дом»
+- Согласовать с Светой геолокацию (она тоже ставит Companion)
+- Собрать список counting events (ДР, Токио, годовщина)
+- Узнать координаты дома + walking-time до остановок через Google Maps
+
+### Неделя 2 (планшет приехал)
+- **Сессия 1**: PWA manifest + FKB развёртывание на планшете
+- **Сессия 2**: Habits + Pulse виджеты (экосистема A + D) — самый быстрый wow
+- **Сессия 3**: Утренний режим + Countdown виджет
+
+### Неделя 3
+- **Сессия 4**: Telegram shopping bot
+- **Сессия 5**: Walking-time интеграция в утренний режим
+- **Сессия 6**: WebSockets HA (инфраструктура для сезона 3)
+
+### Неделя 4
+- **Сессия 7**: Cooking mode с Wake Lock API
+- **Сессия 8**: Bill tracker + Countdown для счетов
+- **Сессия 9**: Контекстные подсказки (базовые без геолокации Светы)
+- **Неделя живём** — собираем обратную связь, что мозолит глаз
+
+После — оцениваем, хочется ли Сезон 3 (Яндекс.Станция, rules-engine, notification overlays) или переключиться на релакс-фичи (photo frame, moon phase, countdown polish).
+
+---
+
+*Создано Cosmo, 2026-04-23. Обновлено 2026-04-23 (+ своя экосистема, +5 пропущенных идей, +value/effort матрица, +граф зависимостей, +build-vs-buy, +отвергнутые идеи, +список уже сделанного). См. `smart-home-tablet.md` (reference), `smart-home-tablet-fkb-setup.md` (kiosk), `smart-home-tablet-vision.md` (стратегия).*