MVP-1 — что делаем изначально
То, что проговорил заказчик + обязательное из конкурентов. Остальное (разделы ниже с бейджами v2/v3) насыщаем потом.
📝 Заметки
Текст + голосовая диктовка (multi-provider STT, пакетный режим), теги, цвета, поиск, прикреплённое аудио.
✅ Задачи
Плоский список, заметка→задача в один тап, Quick Add с распознаванием дат из текста (Todoist).
🗓️ Календарь
Сетка месяц/неделя/день, события, дедлайны задач на ленте.
🔔 Напоминания
Push, несколько на событие, повторяющиеся, настойчивые (повтор пока не отметишь — TickTick).
🔁 Импорт
Google Calendar (2-сторонний) + дни рождения из контактов (наша фишка).
🤖 AI-чат на мобиле
Диалог, история, multi-provider LLM — отрыв от SingularityApp (у них AI только десктоп). Код в MVP, но включается при появлении бюджета (OpenAI/Anthropic — денег пока нет). STT при этом работает (AssemblyAI free).
🔐 База
Вход (Supabase + OAuth Google/Yandex + email), новый дизайн, тёмная/светлая тема.
💻 Десктоп-аналог (100%)
Тот же веб-UI открывается на компьютере в браузере + ставится как PWA (иконка, отдельное окно). Полный функционал, адаптивная раскладка под мышь. Синхрон с телефоном автоматический. Микрофон/камера на компе работают; контакты — только телефон.
Основной функционал (ядро)
То, без чего продукта нет. «Скелет», на который навешивается всё остальное.
Ядро Liel — четыре связанные сущности: заметка → задача → событие в календаре → напоминание, и сквозной AI, который их видит. Главная фишка — захват голосом и мгновенное превращение мысли в действие.
📝 Заметки (текст + голос)
Ручной ввод и голосовая диктовка с авто-распознаванием. Заметка — первоклассная сущность: теги, цвет, поиск, прикреплённое аудио. Быстрый «инбокс для мыслей» без трения.
🎙️ Голос → текст (русский STT)
Надиктовал — система распознала и сохранила. Русский язык как приоритет. У нас уже отлажен pipeline запись→распознавание (AssemblyAI, voice_texter, EventBot).
✅ Заметка → задача в один тап
Из любой заметки сразу делается задача с переносом метаданных (дата, напоминание, теги). Ведётся плоский список задач. Это ядро ценности — мысль не теряется, а становится действием.
🗓️ Свой календарь
Виды месяц / неделя / день. Туда кладутся события, дедлайны задач, дни рождения. Это «лицо» приложения — единая лента жизни. Пишем с нуля (в EventBot только timeline-список).
🔔 Активные напоминания
Push, которые «долбают по делу»: несколько на событие, повторяющиеся, настойчивые (повтор пока не отметишь). Движок планировщика + FCM-доставка уже готовы.
🤖 AI-ассистент (чат)
Диалог с LLM прямо в приложении. Видит контекст всех заметок/задач/календаря, помогает планировать, формулировать, разбивать задачи. Подключаем доступную модель (OpenAI / YandexGPT / GigaChat).
Как всё попадает внутрь (каналы захвата)
Самое важное практически: мысль/задача должна влетать в приложение без боли, в один-два тапа.
Конкуренты выигрывают именно на скорости захвата (Todoist Quick Add, Keep-виджет, Telegram-бот SingularityApp). Чем ниже трение — тем выше удержание.
🎙️ Голос (главный канал)
Кнопка/виджет → говоришь → текст. Plus hands-free сценарий «за рулём». Нативный STT, не плагин ОС (урок Amplenote: плагины отваливаются).
⌨️ Быстрый ввод (Quick Add)
Естественный язык: «отчёт в пятницу в 16:00 #работа» → задача с датой, временем, тегом. Золотой стандарт Todoist — забрать.
📲 Виджет на главный экран
Захват заметки/голоса в один тап с рабочего стола, не открывая приложение (Keep, Singularity, Я.Календарь). Reflect — даже с экрана блокировки.
💬 Telegram-бот
Кинул сообщение боту → задача/заметка. Первая строка = название, //проект #тег в тексте, парсинг дат, пересылка с форматированием, вложения, ответ-ссылкой. У нас есть grammy из EventBot.
📧 Email-in
Переслал письмо на свой личный адрес → оно встало заметкой/задачей. Удобно для «сохранить на потом».
🔗 «Поделиться → Liel»
Шаринг из любого приложения (ссылка, текст, фото) прямо в заметку. Нативный share-target Capacitor.
📸 Фото / скан → текст (OCR)
Сфоткал доску/записку/визитку → текст в заметку. Вторая волна, но сильный канал.
Календарь и напоминания (детально)
Свой календарь — то, чего просил пользователь в первую очередь: «он меня будет постоянно информировать, долбать».
📅 Сетка месяц / неделя / день
Полноценный визуальный календарь с событиями, перетаскиванием, цветами категорий. Ядро экрана.
🔁 Импорт Google Calendar
Двусторонняя синхронизация с Google-календарём — события оттуда видны и редактируются у нас (как Singularity/TickTick).
🌐 CalDAV / iCal (ICS)
Один протокол CalDAV покрывает Apple Calendar и Яндекс.Календарь; подписка на ICS-ссылки read-only (как WEEEK).
🎂 Дни рождения из контактов
Импорт контактов телефона → дни рождения автоматически в календарь с ежегодным напоминанием. Этого почти ни у кого нет — наша фишка. У EventBot уже есть нативный плагин контактов.
🔔 Множественные напоминания
До нескольких напоминаний на одно событие/задачу + режим будильника (Singularity: до 5).
📣 «Настойчивые» напоминания
Алерт повторяется, пока не отметишь выполнение или не отложишь (фирменная фича TickTick Effective Reminders). Прямо под запрос «долбать».
📍 Гео-напоминания
«Напомни у места» (Singularity это умеет, а Keep свои убрал в конце 2025 → свободная ниша). Geolocation-плагин уже в EventBot.
🔂 Повторяющиеся события
Сложные повторы («каждую 3-ю пятницу месяца»), как у Todoist. Парсинг из естественного языка.
🌍 Часовой пояс события
ТЗ события не привязан жёстко к телефону (фишка Я.Календаря для путешественников).
AI-ассистент
Не просто чат, а помощник, который видит весь твой контекст и проактивно помогает. Здесь наша главная точка отрыва от РФ-конкурентов.
💬 Чат с моделью НА МОБИЛЕ
Полноценный диалог в приложении. Подключаем доступную модель: OpenAI если есть токены, иначе YandexGPT/GigaChat (рублёвая оплата, работают в РФ). История диалога сохраняется в БД.
🗣️ Голос → несколько задач сразу
Наговорил сумбурно поток мыслей → AI разложил на отдельные задачи с датами/приоритетами (Todoist Ramble, Keep I/O 2026, Mem Voice Mode). Правка голосом на лету: «нет, я имел в виду…», «удали», «это всё».
🌅 Проактивный план дня
Утром AI сам сканирует задачи/календарь/заметки и предлагает план: что срочно, где «дыры», какие quick wins (паттерн Saner.AI). Сильный повод для пуша и удержания.
🪄 Разбивка и переформулировка задач
«Сделать сайт» → AI бьёт на подзадачи и переписывает в actionable-вид, предлагает время с учётом занятых слотов (Saner Skai, Todoist Task Assist, Singularity).
🔎 Спроси свою память
«Что я записывал про проект X?», «когда я last говорил с Петром?» — AI ищет по всем заметкам и отвечает (chat-with-notes, Reflect/Mem). RAG-контекст уже есть в EventBot.
⚙️ Выбор провайдера + лимиты
Абстракция над LLM: OpenAI / YandexGPT / GigaChat / Anthropic переключаемы. Дневные лимиты токенов на free-тарифе (драйвер апгрейда). Лог расхода уже есть.
Частично (18.06): выбор моделей OpenAI по типам задач + свой ключ задеплоены (см. «🤖 ИИ и модели»). Смена провайдера (Yandex/GigaChat) и дневные лимиты — позже.
🛰️ Личный агент-исполнитель — 2 варианта
Вариант А (пульт к ПК): команды с телефона → сервер-РЕЛЕ → Claude Code на ПК владельца (тот же, что в VS Code, с реальным проектом) → лента прогресса в Liel. Комп должен быть включён. Денег не надо (текущая подписка Claude Code), VPN на ПК как есть, сервер-реле любой.
Вариант Б (агент на сервере): отдельный headless Claude Agent SDK, работает 24/7 без ПК. Нужен ключ+бюджет Anthropic и настройка доступа к проектам. Здесь LV полезен (EU IP → Anthropic напрямую).
Единый agent-gateway для Liel И Telegram-бота — Liel как надёжная замена нестабильной телеге.
Дополнительные блоки (навешиваемое)
Модули поверх ядра — широта без перегрузки главного экрана. Собрано широко, чтобы видеть масштаб.
🏷️ Теги, цвета, папки
Организация заметок и задач: метки через #, цветовая кодировка, быстрый полнотекстовый поиск (Keep).
☑️ Чек-листы / списки покупок
Внутри заметки — пункты с галочками, списки покупок (Keep, LeaderTask).
🔁 Привычки и серии (streak)
Лёгкие трекеры привычек с напоминаниями и сериями (TickTick). Геймификация удержания.
📌 Канбан-доска
Альтернативный вид задач — доска со статусами (Singularity, LeaderTask, WEEEK). Для тех, кто мыслит колонками.
🍅 Помодоро / фокус
Таймер фокуса, привязанный к задаче (TickTick).
🔗 Шаринг заметки / задачи
Поделиться заметкой или списком по ссылке (read-only или совместно).
🌗 Тёмная тема
Светлая/тёмная тема с переключателем. Дизайн-токены и dark mode переносим из EventBot целиком.
⌚ Wear OS / часы
Захват голосом и просмотр задач с умных часов (Singularity, TickTick, Keep).
📥 Импорт из Notion / Todoist / Trello
Миграция заметок и задач из других приложений по API — чтобы перебежчику было легко зайти (WEEEK).
🗂️ Вложенные заметки / база знаний
Структура из вложенных документов для длинных записей (WEEEK — но сделать мобильное редактирование лучше, у них слабое).
❌ Отказались (2026-06-17): противоречит сути Lielo (инбокс + разнос, а не вики/дерево). Контейнер для длинного — сфера/цель.
🔐 Биометрический вход
Face ID / отпечаток на вход + PIN на приложение. Рабочий паттерн биометрии уже есть в EventBot.
📎 Вложения к заметкам
Фото, файлы, аудио прямо в заметке (S3-хранилище). Загрузка файлов уже есть в EventBot.
Свободная клетка рынка (наша дифференциация)
Что в РФ пока никто не закрывает разом — туда и бьём.
Главный вывод обследования: ни один продукт в РФ не объединяет одновременно качественный русский STT + полноценный AI-чат на мобиле + календарь с импортом + заметка→задача + рублёвую оплату. Каждый закрывает часть.
🎙️ Русский голос как ядро на мобиле
Не системный распознаватель «как получится», а заточенный pipeline. У мелких RuStore-блокнотов нет AI, у Singularity голос «иногда не слышит» и без LLM-разбора.
🤖 AI-чат именно на телефоне
У лидера РФ (Singularity) AI только десктоп. Мы выходим с мобильным AI + голосом — прямое отличие, которое видно сразу.
🎂 Импорт контактов и дней рождения
Дни рождения из записной книжки прямо в календарь с напоминанием — этого нет почти ни у кого из перечисленных.
💳 Рублёвая оплата + RuStore
Todoist/TickTick/Notion из РФ нормально не оплатить. Публикация в RuStore + оплата в рублях/СБП — само по себе преимущество.
🌅 Проактивный «секретарь»
AI, который сам утром приносит план дня и напоминает — работает, даже когда ты не открыл приложение (Saner.AI, но на русском и в РФ).
🧩 Один поток речи → разные заметки
Наговорил вперемешку (покупки + идея + задача) → AI сам разложил на отдельные структуры (Keep I/O 2026, Mem). Вау-момент.
Конкуренты: мобильность, магазины, что забрать
Проверено — кто реально в мобиле и в RuStore, а кто только веб/десктоп.
📱 Мобильность и магазины
| Приложение | Моб. прил. | RuStore | Google Play | App Store | Рейтинг | Оплата из РФ |
|---|---|---|---|---|---|---|
| SingularityApp (РФ) | да (Android/iOS/Wear/Аврора) | да · 100k+ · 4.8★ | да 4.7★ | да 4.7★ | 4.7–4.8★ | рубли, реестр РФ ПО |
| LeaderTask (РФ) | да (Android/iOS) | да · 10k+ · 4.2★ | да | да | 4.2★ | рубли, реестр РФ ПО |
| WEEEK (РФ) | да (Android/iOS) | да · 84 отз. | да | да | — | рубли |
| Яндекс Календарь | да (отдельное) | да · 3.4★ | да | да | 3.4★ (ругают за базовость) | да |
| Яндекс Заметки | нет отдельного — внутри Я.Диска/браузера | через Я.Диск | через Я.Диск | через Я.Диск | — | да |
| Алиса AI (Яндекс) | да | да · 5246 отз. | да | да | высокий | да |
| TickTick | да | да · 10k+ · 4.8★ | да | да | 4.8★ | РФ-карта не проходит |
| Todoist | да | нет | да 50M+ | да | высокий | РФ-карты не принимают |
| Google Keep | да (Android/iOS/Wear) | нет | да | да | высокий | бесплатно; AI-голос только US |
| Saner.AI | да (iOS/Android/Mac/Chrome) | нет | да | да | beta | валюта, не локализован |
| Reflect | да (iOS/Android/Watch) | нет | да | да | — | валюта |
| Mem.ai | только iOS (Android нет) | нет | нет | да | — | валюта |
| Amplenote | да (iOS/Android) | нет | да | да | высокий | валюта; голос отваливается |
🎯 Что забрать у каждого
SingularityApp
- Голос → задача с парсингом даты/проекта/тегов из речи
- Telegram-бот: 1-я строка=название,
//проект #тег, вложения, ответ-ссылка — забрать целиком - Email-in, до 5 напоминаний, гео-уведомления
- 2-сторонняя синхр. Google Calendar; виджеты
- Триал 14 дней без карты
- Их слабость: AI только десктоп, голос «не слышит»
Todoist
- Quick Add на естественном языке — эталон ввода
- Ramble: свободная речь → AI вытягивает задачи+даты+приоритеты (38 языков, русский есть), правка голосом на лету
- Email Assist — задачи из письма
- Сложные повторы «каждую 3-ю пятницу»
TickTick
- Effective Reminders — настойчивые повторные алерты (must)
- Множество каналов захвата (виджет/голос/email)
- Privacy-нарратив «данные не уходят третьим»
- Pomodoro, привычки, Wear OS
Google Keep
- Аудиозаметка + автотранскрипция + поиск по транскрипту
- Голосовая заметка прямо в виджете (один тап)
- Один поток речи → несколько заметок по темам (I/O 2026)
- Цветовая кодировка, метки
Saner.AI
- Проактивный план дня утром + чек-ины
- Chat-first: «перенеси сессию на 16:00» → правит календарь
- Voice capture виджет — мысль в ноль шагов
- Чёткое нишевое позиционирование (ADHD)
LeaderTask / WEEEK / Reflect
- LeaderTask: задача и заметка — единая сущность (статус «Заметка»); сильный офлайн
- WEEEK: импорт календарей по CalDAV (Apple/Яндекс), AI-генерация текста дока
- Reflect: STT на Whisper, запись голоса с lock-screen виджета
Цены конкурентов
Сколько стоят подписки и где проходит граница free/платно. Ориентир для нашего ценообразования.
| Приложение | Бесплатно | Платно (основной тариф) | Валюта / оплата из РФ |
|---|---|---|---|
| SingularityApp (РФ) | Basic 0 ₽ (база, ≤10 проектов) | Pro ~209 ₽/мес (год) · 249 ₽ помес.; Elite ~250–299 ₽/мес. Триал 14 дн Elite без карты | рубли |
| WEEEK (РФ) | Старт 0 ₽ (до 5 чел, 7 проектов) | Lite 199 ₽/мес · Pro 399 ₽/мес (за пользователя) | рубли |
| LeaderTask (РФ) | есть (как записная книжка) | личный ~от 249 ₽/мес; команда ~от 1600 ₽/мес за 5 чел (уточнить) | рубли |
| Яндекс (Заметки/Календарь/Алиса) | бесплатно | продвинутая Алиса — в подписке Яндекс Плюс | рубли |
| Todoist | Free (5 проектов) | Pro $4/мес (год) · $5 помес.; Business $6/мес | РФ-карты не принимаются |
| TickTick | Free (≤9 списков) | Premium ~$35.99/год (~$3/мес); через посредников ~870 ₽/мес | прямая РФ-оплата не проходит |
| Notion | Free (личное) | Plus ~$10/мес + AI-доплата сверху | оплата из РФ затруднена |
| Reflect | нет (триал) | ~$10/мес ($120/год) | валюта |
| Mem.ai | ограниченно | ~$8–15/мес | валюта |
| Amplenote | Free | ~$6–12/мес | валюта |
| Google Keep | полностью бесплатно | — | бесплатно |
⚠️ Цены в рублях для западных сервисов — это предложения посредников, не официальные тарифы. Долларовые цены и тарифы LeaderTask требуют финальной сверки на сайтах перед фиксацией.
Архитектура и переиспользование
Берём ~80% стека из EventBot/Planoria. Что готово, что пишем с нуля.
📐 Развилка: online-first сейчас, offline потом
git push, без пересборки APK. Так быстрее отлаживать, а пользоваться пока будет один человек дома с Wi-Fi.💻 Десктоп = тот же UI (100% аналог)
✅ Что работает и на ПК
- Все заметки/задачи/календарь/AI — полностью
- Голосовая диктовка (микрофон через Web API)
- Фото/камера, загрузка файлов, drag-drop
- Уведомления (Web Push в браузере)
📵 Только телефон (на ПК fallback)
- Контакты → дни рождения (на ПК — импорт Google/файл)
- Гео-напоминания (нет GPS на десктопе)
- Нативный share-target, биометрия
- Push через FCM (на ПК — Web Push)
Опционально позже — настоящий .exe через Tauri поверх того же UI (как Capacitor для мобайла). Аутентификация — как в EventBot/Planoria: Supabase + OAuth (Google/Yandex/email) + OTP, один аккаунт на всех устройствах.
🧱 Стек (монорепо pnpm, как EventBot)
| Слой | Технология | Статус |
|---|---|---|
Фронт apps/web | React 18 + Vite 6 + TypeScript + Tailwind 3 + react-query | из EventBot |
Бэкенд apps/api | Fastify 5 + Drizzle ORM + tsx + postgres | из EventBot |
Мобайл apps/mobile | Capacitor 6 thin-wrapper (новый appId, новый keystore) | из EventBot |
| БД | shared Supabase, новый префикс liel_* | паттерн из EventBot |
| Хостинг | Beget VPS Docker + nginx-роутинг | паттерн платформы |
♻️ Что готово / что писать
✅ Переиспользуем из EventBot
- Голос:
VoiceRecorder.tsx+transcribeViaAssemblyAI(русский) — почти 1:1 - AI-чат + persistent history + лог токенов
- Движок напоминаний
scheduler.ts+ push (FCM) - Auth: Supabase + OAuth + OTP + Capacitor-bounce
- Дизайн-токены + UI-kit + тёмная тема
- Биометрия, контакты (нативный плагин), вложения (S3)
- APK-обёртка + GitHub Actions релиз +
/downloadQR
✍️ Пишем с нуля
- Визуальный календарь (сетка месяц/неделя/день) — в EventBot нет
- Импорт внешних календарей (Google / iCal-ICS / CalDAV) — в EventBot нет вообще
- Плоский task-list — отвязать задачи от иерархии проект→этап
- Quick Add c natural-language парсингом дат
- Дни рождения из контактов → события
Технологии (ключевые узлы)
Чем именно делать голос, импорт календарей и push.
🎙️ STT — пул провайдеров с failover
Не один провайдер, а несколько за единым интерфейсом «аудио→текст»: AssemblyAI universal-2 (ru), OpenAI Whisper, Yandex SpeechKit (рубли/РФ), Vosk (офлайн). Один упал/медленный → авто-переключение на следующего (failover + circuit breaker). Роутинг по скорости/цене/качеству русского. В EventBot уже есть 2 провайдера — дорастить до failover. Сейчас тестируем на AssemblyAI (free) + Whisper.
🤖 LLM-провайдер
Абстракция над моделью (OpenAI / Anthropic / YandexGPT / GigaChat — переключаемы). Статус: бюджета нет ни на OpenAI, ни на Anthropic — поэтому AI-чат и агент-канал на старте выключены (graceful degradation, как в EventBot). Код и gateway закладываем «спящими», включаем при бюджете. STT при этом работает на бесплатных кредитах AssemblyAI.
📅 Импорт календарей
Google Calendar API (OAuth) для 2-сторонней синхр.; CalDAV для Apple/Яндекс; парсинг iCal/ICS для подписок read-only. Контакты — нативный плагин Capacitor (есть в EventBot).
🔔 Push-уведомления
Firebase Cloud Messaging + @capacitor/push-notifications + планировщик scheduler.ts (тики, интервалы, дедуп, TTL-лок вместо advisory). Готово к переносу.
🗓️ Календарный UI
Своя сетка либо лёгкая библиотека (без тяжёлых зависимостей). Раздуть APK нельзя — держим bundle компактным (урок ML Kit: 6→16 МБ → Play Protect подвисал).
📱 Capacitor — известные грабли
Плагины только через window.Capacitor.Plugins (не dynamic import — зависает); OAuth через Browser.open(); versionCode по семвер-формуле (>10⁷ ломает установщик); сразу редирект /→/login в APK (не показывать лендинг).
Монетизация
Freemium с рублёвой оплатой. AI и голос — драйверы апгрейда.
🆓 Free
Заметки, задачи, календарь, напоминания, базовый голос — бесплатно. Лимит на AI-сессии/минуты диктовки в месяц. Триал полного функционала без карты (как Singularity 14 дн).
💎 Premium (~200–300 ₽/мес)
Безлимитный AI-чат и голос, проактивный план дня, импорт всех календарей, гео-напоминания, виджеты. Оплата в рублях через RuStore/СБП.
📈 Драйвер апгрейда — AI
Todoist: после голос-AI (Ramble, 10 free-сессий/мес) апгрейды выросли ×5. Голос+AI реально конвертит — лимитируем именно их на free.
💳 Рублёвая оплата = преимущество
Конкуренты-западники из РФ не оплачиваются. RuStore + реестр РФ ПО (как Singularity/LeaderTask) — структурное преимущество, не фича.
🔋 Cost control
Дневные лимиты токенов per-user (есть в EventBot), дешёвые модели (mini/nano) на массовых операциях, дорогие — только на премиуме. STT-минуты тоже лимитируются.
🪙 На будущее
Внутренние кредиты под AI-расход (модель Singularity SPC) — гибкая оплата тяжёлых операций сверх тарифа.
Масштабирование и нагрузка
Потянет ли стек 1 000 → 10 000 пользователей, особенно обработку аудио. Где узко, что закладываем сразу.
📊 Вердикт по нагрузке
| Масштаб | Сам стек (Fastify+PG+React) | Что обязательно поменять |
|---|---|---|
| 1 000 юзеров | потянет с запасом — для Node+Postgres это мало | съехать с общего Beget VPS (1.9 ГБ/1 CPU, уже забит платформой) на отдельный сервер |
| 10 000 юзеров | архитектурно ок (stateless API + Postgres тянет легко) | отдельная БД (не shared Supabase), очередь для STT, 2+ инстанса API за nginx, лимиты на free |
🔍 Где реально узко (по компонентам)
🖥️ Общий Beget VPS — узкое место №1
1.9 ГБ RAM / 1 CPU, и там уже живёт вся платформа (Dashboard, Kwork, Lead-Hunter, nginx…). Для отдельного продукта на тысячи юзеров — мало. Решение простое: отдельный VPS под Liel (вертикальный апгрейд дёшев), позже — 2+ инстанса API.
🎙️ Синхронный polling STT — узкое место №2
Сейчас (как в EventBot) запрос «транскрибируй» держит HTTP-соединение открытым до 90 сек, пока опрашивает провайдера. На пике из сотен одновременных диктовок это копит «висящие» запросы. Решение: очередь задач (Redis + worker): загрузил аудио → задача в очередь → ответ приходит push/SSE. У нас уже есть этот паттерн в Lead-Hunter (Dramatiq+Redis).
🗄️ Shared Supabase — узкое место №3
Все сервисы платформы делят один Postgres. Сам PG 10k юзеров не замечает, но общий пул соединений и общий ресурс — риск «сосед мешает соседу». Решение: отдельный проект/инстанс БД под Liel + настроенный pgbouncer.
💰 Стоимость STT — узкое место экономическое
Не производительность, а деньги: тысячи юзеров × минуты диктовки. AssemblyAI ~$0.12–0.37/час, SpeechKit — рублёвый и дешевле для РФ. На масштабе это аргумент перейти на Yandex SpeechKit (рубли, серверы РФ) и жёстко лимитировать free-минуты.
✅ API Fastify — НЕ узкое место
Stateless, масштабируется горизонтально: добавил инстанс за nginx — и всё. Event-loop Node хорошо держит I/O-bound прокси к STT/LLM.
✅ Планировщик напоминаний — почти ок
Singleton с TTL-локом (урок EventBot: pg_advisory через pgbouncer течёт). При нескольких инстансах лок гарантирует, что тикает один. На 10k×напоминаний — следить за размером выборки на тик, бить на батчи.
✅ Отдача UI (thin-wrapper) — НЕ узкое
Статика фронта раздаётся nginx и кешируется CDN-style. Дёшево даже на пике.
📦 Хранилище аудио (S3)
Если храним исходники голосовых заметок — объём растёт (10k активных = десятки/сотни ГБ). Beget S3 тянет, но закладываем TTL/архивацию старых аудио и хранение только текста по умолчанию.
🧰 Что заложить сразу (дёшево сейчас, дорого потом)
1. Очередь задач для STT/AI
Redis + worker (BullMQ для Node, либо Dramatiq как в Lead-Hunter). Снимает риск «висящих» запросов, сглаживает пики, даёт ретраи. Заложить в архитектуру с первого дня — переделывать потом дорого.
2. Отдельная БД и сервер
Не садиться на shared Supabase/Beget. Свой Postgres + свой VPS под Liel: изоляция нагрузки, данных и возможность апгрейда независимо от платформы.
3. Multi-provider STT с failover
Не привязка к одному: единый интерфейс «аудио→текст» + пул (AssemblyAI / OpenAI Whisper / SpeechKit / Vosk). Primary упал или медленный → авто-fallback на следующего, circuit breaker на сбойного. Стратегия: сейчас primary+fallback, позже racing (двум сразу, берём первого) или роутинг по цене/скорости. Надёжность + оптимизация разом.
4. Лимиты и квоты с первого дня
Дневные лимиты STT-минут и AI-токенов per-user (есть в EventBot). Иначе 10k бесплатных юзеров сожгут бюджет API. Это и cost control, и драйвер апгрейда.
5. Stateless с первого дня
Никакого состояния в памяти инстанса (сессии/кеш — в Redis/БД), чтобы добавление 2-го/3-го инстанса было бесшовным. API EventBot уже такой.
6. Мониторинг расхода API
Дашборд «сколько минут STT / токенов AI потрачено» — чтобы видеть экономику до того, как прилетит большой счёт. Лог расхода уже есть в EventBot.
Дизайн-язык «Soft Surfaces»
Интерфейс из света и областей, а не из рамок и кнопок. Тонкий, спокойный, отдельный от EventBot. Полная система — в liel/DESIGN.md.
Вдохновение — переходные языки последних лет: Windows 11 Fluent/Mica/Acrylic, Apple Liquid Glass (iOS 26), новый Telegram. Идея: не обведённые коробки и кнопки, а мягкие области, различимые тоном, светом и глубиной.
↑ Схематичные превью (иконки — заглушки emoji; в проде — тонкие линейные Lucide 1.5px). Видно суть: floating-pill навигация с blur, центральная аура-кнопка записи голоса, карточки-области без рамок, filled-поля, primary в аура-градиенте.
🎨 Палитра (токены)
Светлая
canvas · surface · surface-2 · ink · iris · aqua
Тёмная
canvas · surface · surface-2 · ink · iris · aqua
📐 Принципы
Области вместо коробок
Разделяем тоном поверхности и мягкой тенью, не обводкой. Жирных бордеров нет; hairline — только где иначе сливается.
Свет и глубина
Три уровня (canvas→surface→elevated). Плавающие элементы — полупрозрачные с blur (Mica/Acrylic/Liquid Glass).
Аура-акцент дозированно
Градиент iris→aqua точечно: активное состояние, фокус, кнопка записи. Не заливать им всё.
Воздух и тонкость
Крупные радиусы (14–28px), щедрые отступы, лёгкие веса шрифта (Inter), тонкие иконки 1.5px.
Движение мягкое
Пружинные переходы 200–320мс, морфинг заметка→задача, пульсирующая «аура» при записи голоса.
Спокойствие
Приглушённая семантика, ноль шума, никаких маскотов. Эмоция — ясность и фокус.
План реализации
Пошаговая инструкция «бери и исполняй». Полная архитектура (схема БД, модули, endpoints) — в liel/ARCHITECTURE.md.
liel-api / liel-web добавляются в существующий docker-compose рядом с платформой и EventBot; Redis уже есть (proj-redis, отдельная db 3); роутинг через существующий proj-nginx. Поддомен lielo.ru (server.url для APK; работает одинаково на ПК и телефоне), DNS уже прописан → 155.212.143.120. БД — shared Supabase, префикс liel_*.45.90.32.67) физически расположена в РФ (Beget LLC, Санкт-Петербург). Значит и БД, и сервер приложения находятся в РФ → локализация персональных данных соблюдена на будущее без переезда.mem_limit (страховка платформы и EventBot от OOM); воркер очереди на старте держим внутри API-контейнера (LIEL_USE_QUEUE=0, отдельный контейнер — после стабилизации). RAM Beget апгрейдим вертикально по мере роста.Фаза 0 · Каркас
Монорепо из EventBot-шаблона, вырезать свадебное, префикс liel_*, дизайн-токены Liel, auth, пустой деплой на lielo.ru, сборка APK-обёртки.
Фаза 1 · Заметки + STT
CRUD заметок, теги/цвета/поиск, multi-provider STT failover-оркестратор (AssemblyAI+Whisper), запись голоса (VoiceRecorder из EventBot), очередь stt_jobs.
Фаза 2 · Задачи
Плоский task-list, заметка→задача, Quick Add с NLP-парсингом дат, статусы/приоритеты.
Фаза 3 · Календарь + напоминания
Свой UI-компонент (месяц/неделя/день), события, scheduler.ts + FCM, множественные/повторяющиеся/настойчивые напоминания.
Фаза 4 · Импорт
Google Calendar 2-сторонний (OAuth, sync token), дни рождения из контактов (нативный плагин из EventBot).
Фаза 5 · AI-чат
Чат на мобиле, persistent history, multi-provider LLM, лимиты токенов, RAG по заметкам.
Фаза 6 · Полировка + релиз
Доводка дизайна Soft Surfaces, тёмная тема, оптимизация бандла, подпись и публикация APK через GitHub Actions.
liel/VISION.md (концепция/решения) · liel/ARCHITECTURE.md (тех-архитектура, схема БД, фазы с DoD) · liel/DESIGN.md (дизайн-язык) · liel/CLAUDE.md (playbook) · этот каталог. Готово к старту кодинга по команде.Бэклог фич — идеи от конкурентов
Растущая копилка: что подсмотрено у аналогов и стоит добавить. Полный разбор конкурентов — в liel/COMPETITORS.md. Раздел пополняется.
⚡ Планирование под энергию
Задачи раскладываются на пики концентрации (тяжёлое — когда ты в ресурсе), а не в первое свободное окно. Киллер-фича, почти ни у кого нет.
🔮 Проактивность
Ассистент сам перестраивает план при сдвиге, подталкивает, напоминает — инициирует, а не ждёт команды.
🧠 Память-ассистент (RAG)
Ассистент видит ВСЕ заметки/задачи/календарь: «что из той встречи?», «найди в заметках про X». Контекст пользователя, не общий чат.
📍 Контекстные подсказки
«Встреча через 30 мин — вот связанные заметки». Подсказка по ситуации, без запроса.
📝 Freeform-текст → структура
Вставил план/переписку/кашу текста → AI разнёс на задачи, даты, списки (с шагом проверки перед сохранением). Дополняет голос→задачи.
🔊 Дневной брифинг голосом
Утренняя сводка дня вслух — обратное применение нашего голосового стека (озвучка, не только диктовка).
✍️ Обучение твоему стилю
Чем больше пишешь/диктуешь — тем больше «дорасшифровка» звучит в твоём стиле; умное автодополнение заметок.
🧘 «Спокойный» UX (антиперегруз)
Не набор фич, а ощущение тишины. Позиционирование «для тех, кто тонет в инфошуме». Ложится на наш дизайн Soft Surfaces.
🎬 Интерактивная agenda
Действия прямо из плана дня («забронируй / найди / открой»), голосовые quick-actions.
✅ 🔑 BYO-ключ / выбор модели
Пользователь может подключить свой API-ключ модели → снимает с нас расходы на инференс. Cost-control + гибкость. (см. раздел 10)
✅ Сделано (18.06): Настройки → «🤖 ИИ и модели» — модели LLM по типам задач (простые/сложные/фото, предзаполнены текущими), свой ключ OpenAI (BYO), распознавание речи — в одном экране.
👥 Виральность: −30% от 3 чел
Групповая скидка как дешёвый механизм роста.