Lunelo это AI-планировщик задач, где вы голосом наговариваете день, а Claude Haiku разбивает поток в структурированные задачи с приоритетом, дедлайном и подзадачами. Haiku я взял за скорость и цену: разбор идёт за секунды и стоит копейки. Работает как iOS-приложение и как PWA, без ручного набора.
Я 4 года делаю сайты и веб-приложения в одиночку под брендом Litau Labs, и Lunelo — мой собственный продукт, клиентского заказа за ним нет. Начал я с личной боли: планировщики требуют, чтобы вы сначала сами разложили хаос в голове по полочкам, а потом уже занёс это в приложение. С этого Lunelo и начался: я хотел, чтобы хаос в голове разбирала машина.
В этом разборе покажу, как устроен Lunelo изнутри. Где живёт голос, почему из всех моделей я выбрал именно Claude Haiku, что оказалось по-настоящему сложным в цепочке «голос → структура» и как это собрано под iOS и PWA одновременно. Сам продукт: в кейсе Lunelo.
Какую проблему решает AI-планировщик задач
Обычный таск-менеджер молчит и ждёт. Вы открываете пустое поле «Название задачи» и должны сами:
- вспомнить всё, что висит на сегодня;
- сформулировать каждый пункт коротко и понятно;
- проставить приоритеты вручную;
- разбить крупное дело на шаги;
- назначить дедлайны.
Это пять решений на каждую строчку. Утром, когда голова ещё не проснулась, любое из них становится поводом отложить. Поэтому у большинства людей таск-менеджер зарастает наполовину заброшенными списками.
Я хотел убрать ввод целиком, чтобы набирать текст не приходилось вовсе. Вы говорите так, как думаете: «сегодня надо дописать оффер клиенту, забрать посылку, вечером созвон с Ромой по проекту, и не забыть заплатить за хостинг». Задача Lunelo: превратить поток в план.
Как работает связка «голос → Claude Haiku → задачи»
Пайплайн простой на бумаге и капризный в деталях. Вот полный путь от нажатия на микрофон до появления карточек:
- Захват голоса. На вебе (PWA) я использую OpenAI Whisper для транскрипции, на iOS — нативное распознавание речи через Capacitor. Движки разные, потому что нативный на телефоне быстрее и не жрёт трафик, а на десктопе Whisper даёт лучшую точность.
- Транскрипт в текст. Получаю сырую расшифровку: сплошной поток без пунктуации и границ задач.
- Разбор через Claude Haiku. Отправляю текст в модель с жёсткой системной инструкцией: сегментируй поток на отдельные задачи, убери дубли, для каждой определи приоритет, категорию, дедлайн и, если дело крупное, разбей на подзадачи.
- Структурированный ответ. Haiku возвращает строгий JSON: массив задач с полями. Я валидирую схему и подставляю дефолты, если модель что-то пропустила.
- Карточки на экране. Задачи раскладываются по 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 туда, где ваши пользователи застревают
Опишите продукт и место, где люди бросают ввод. Предложу решение и цену.
