Полумесяц рядом с рядом округлых плиток: AI-планировщик задач Lunelo с голосовым вводом
Коротко

Lunelo это AI-планировщик задач, где вы голосом наговариваете день, а Claude Haiku разбивает поток в структурированные задачи с приоритетом, дедлайном и подзадачами. Haiku я взял за скорость и цену: разбор идёт за секунды и стоит копейки. Работает как iOS-приложение и как PWA, без ручного набора.

Я 4 года делаю сайты и веб-приложения в одиночку под брендом Litau Labs, и Lunelo — мой собственный продукт, клиентского заказа за ним нет. Начал я с личной боли: планировщики требуют, чтобы вы сначала сами разложили хаос в голове по полочкам, а потом уже занёс это в приложение. С этого Lunelo и начался: я хотел, чтобы хаос в голове разбирала машина.

В этом разборе покажу, как устроен Lunelo изнутри. Где живёт голос, почему из всех моделей я выбрал именно Claude Haiku, что оказалось по-настоящему сложным в цепочке «голос → структура» и как это собрано под iOS и PWA одновременно. Сам продукт: в кейсе Lunelo.

Какую проблему решает AI-планировщик задач

Обычный таск-менеджер молчит и ждёт. Вы открываете пустое поле «Название задачи» и должны сами:

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

Я хотел убрать ввод целиком, чтобы набирать текст не приходилось вовсе. Вы говорите так, как думаете: «сегодня надо дописать оффер клиенту, забрать посылку, вечером созвон с Ромой по проекту, и не забыть заплатить за хостинг». Задача Lunelo: превратить поток в план.

Как работает связка «голос → Claude Haiku → задачи»

Пайплайн простой на бумаге и капризный в деталях. Вот полный путь от нажатия на микрофон до появления карточек:

  1. Захват голоса. На вебе (PWA) я использую OpenAI Whisper для транскрипции, на iOS — нативное распознавание речи через Capacitor. Движки разные, потому что нативный на телефоне быстрее и не жрёт трафик, а на десктопе Whisper даёт лучшую точность.
  2. Транскрипт в текст. Получаю сырую расшифровку: сплошной поток без пунктуации и границ задач.
  3. Разбор через Claude Haiku. Отправляю текст в модель с жёсткой системной инструкцией: сегментируй поток на отдельные задачи, убери дубли, для каждой определи приоритет, категорию, дедлайн и, если дело крупное, разбей на подзадачи.
  4. Структурированный ответ. Haiku возвращает строгий JSON: массив задач с полями. Я валидирую схему и подставляю дефолты, если модель что-то пропустила.
  5. Карточки на экране. Задачи раскладываются по Today / Week, первая маленькая подзадача подсвечивается, чтобы было с чего начать.

Здесь модель просто переводит речь в данные. На входе человеческий хаос, на выходе данные, которые приложение раскладывает по своим экранам. Это меняет требования к модели: важны надёжность структуры и скорость.

Почему я выбрал Claude Haiku для разбора речи

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

Критерий Claude Haiku Claude Sonnet Флагманские модели
Задержка на разбор секунды, ощущается мгновенно заметно дольше заметно дольше
Цена за разбор копейки, не жалко на каждый ввод в разы дороже в разы дороже
Дисциплина JSON стабильно держит схему стабильно стабильно
Нужна ли глубина рассуждений нет, задача механическая избыточна избыточна
Итог для этой задачи оптимум переплата переплата

Логика такая: если пользователь наговаривает день по несколько раз в сутки, каждый разбор должен быть дешёвым и быстрым, иначе продукт либо тормозит, либо разоряет меня на API. Haiku закрывает оба требования. Разбор потока в задачи — это классификация и сегментация. Брать сюда тяжёлую модель всё равно что возить продукты на грузовике: доедете, но дорого и медленно.

Про сам подход к выбору и интеграции моделей я подробнее писал в гайде Adding AI Features (Claude/GPT) to Your Product: там про то, как встроить ИИ в существующий продукт без переписывания всего.

Что оказалось сложным в цепочке «голос → структура»

На демо всё выглядит гладко. В реальности между «человек говорит» и «появились правильные задачи» прячется несколько ловушек, на которые ушла основная часть времени разработки.

Границы задач в сплошной речи

Люди не говорят пунктами. Они говорят: «надо купить молока и ещё позвонить в банк насчёт карты которую заблокировали». Где здесь одна задача, а где две? «Позвонить в банк» и «разобраться с картой»: это одно дело или два шага одного? Я решал это через инструкции для модели с примерами: модель учится не дробить связанное и не склеивать разное. Идеала нет, но экран подтверждения (о нём ниже) закрывает промахи.

Дубли и повторы

В потоке мысли человек возвращается к одному и тому же: «надо позвонить Роме… ну и с Ромой созвониться по проекту». Это одна задача, сказанная дважды. Haiku дедуплицирует, но грань между «это дубль» и «это два разных созвона» тонкая. Здесь помогает категория и контекст: если оба упоминания про один проект, склеиваем.

Дедлайны из разговорной речи

«Завтра», «к пятнице», «до конца недели», «вечером»: это всё дедлайны, но в человеческих словах. Модель должна превратить «вечером» в конкретное время с учётом текущей даты. Я передаю в контекст текущую дату и таймзону, иначе «завтра» превращается в бессмыслицу.

Экран подтверждения вместо слепого доверия

Главный урок: нельзя молча применять то, что вернул ИИ. Пользователь должен видеть, как его слова превратились в задачи, и иметь возможность поправить одним касанием. В Lunelo после разбора показывается подтверждение: вот что я услышал, вот как разбил, согласен? Сделать его просто, а пользователь видит, что ничего не потерялось. Тот же принцип «ИИ предлагает, человек утверждает» я использую и в других AI-продуктах.

Почему iOS и PWA одновременно

Lunelo живёт в двух формах из одной кодовой базы: React 18 + Vite, обёрнутый в Capacitor 8 для нативного iOS. Это осознанный выбор соло-разработчика: не плодить два проекта.

iOS (нативный) PWA (веб)
Голос нативное распознавание, быстрее Whisper, точнее на десктопе
Установка из App Store ярлык на экран, без стора
Уведомления нативные пуши браузерные, где поддерживаются
Кодовая база общая: React + Vite, обёртка Capacitor

Смысл в охвате. Кто-то не хочет ставить приложение и открывает PWA по ссылке. Кто-то живёт в App Store и ставит нативную версию с пушами. Я пишу логику один раз, а отличаются только слой захвата голоса и способ доставки уведомлений. Для соло-разработчика это разница между «поддерживаю один продукт» и «разрываюсь между двумя».

Что это дало и чему научило

Lunelo подтвердил мой рабочий принцип на клиентских проектах: AI стоит ставить туда, где человек застревает. В планировщике это ручной ввод. Я убрал его, и планировщиком стало быстрее пользоваться, чем печатать.

Другой мой кейс: Клуб 365, перенос подписочного сайта с Tilda на WordPress.

Если вы думаете про AI-фичу в своём продукте (чат-бота, ассистента, голосовой ввод) логика одна: найдите одно место, где пользователь застревает, и отдайте эту работу модели. Про то, как я собираю ассистентов на своих данных, есть отдельный разбор AI-чат-бот на своих данных (RAG), а про экономику таких фич — сколько стоит AI-чат-бот для сайта.

Хотите обсудить AI-фичу или продукт под ключ — напишите мне в Telegram или WhatsApp, я работаю напрямую, без агентства и посредников.

Частые вопросы

Сколько стоит разработка AI-планировщика задач?

Стоимость зависит от объёма: MVP с одним AI-сценарием (голос или текст → структура) собирается быстрее и дешевле, чем полноценное приложение с iOS, PWA, уведомлениями и премиум-тарифом. Сама AI-интеграция обычно не самая дорогая часть — больше времени уходит на экраны, состояния и отладку цепочки «голос → структура». Точную оценку даю после короткого созвона про ваш сценарий.

Почему для Lunelo выбрана Claude Haiku, а не более мощная модель?

Разбор потока речи в задачи: это сегментация и классификация, глубокие рассуждения здесь не нужны. Здесь важнее скорость и цена, чем «интеллект» модели. Haiku отвечает за секунды и стоит копейки на разбор, поэтому пользователь может наговаривать день сколько угодно раз без задержек и без разорения на API. Тяжёлая модель была бы переплатой без выигрыша в качестве.

Нужен ли программист, чтобы добавить голосовой AI-ввод в приложение?

Да, потому что сложность в цепочке вокруг вызова модели: захват голоса, транскрипция, жёсткая инструкция под структурный вывод, валидация JSON, экран подтверждения и обработка ошибок. Готовые no-code решения ломаются на границах задач и дедлайнах из разговорной речи. Я собираю такую связку под конкретный сценарий, чтобы она работала стабильно, а не только на демо.

Можно ли встроить похожий голосовой разбор в существующий продукт?

Да. Связка «голос → ИИ → структурированные данные» переносится на любой домен: заметки, заявки, CRM, отчёты. Логика та же: Whisper или нативное распознавание для голоса, Claude или GPT для превращения текста в поля, экран подтверждения перед сохранением. Я встраиваю это в готовый продукт без переписывания всего, точечно в нужное место.

Работает ли Lunelo без интернета?

Разбор через ИИ требует сети, потому что модель работает на сервере. Само приложение как PWA и нативный iOS открывается и показывает уже созданные задачи офлайн, но новый голосовой ввод отправляется на разбор при появлении связи. Это компромисс: локальные модели пока не дают такого качества структуризации на телефоне при разумном расходе батареи.

Добавлю AI туда, где ваши пользователи застревают

Опишите продукт и место, где люди бросают ввод. Предложу решение и цену.

Обсудить продукт Приложения: цены и сроки

×