Lunelo — это AI-планировщик задач, где ты голосом наговариваешь день, а Claude Haiku разбивает поток в структурированные задачи с приоритетом, дедлайном и подзадачами. Haiku я взял за скорость и цену: разбор идёт за секунды и стоит копейки. Работает как iOS-приложение и как PWA, без ручного набора.
Я три года делаю сайты и веб-приложения в одиночку под брендом Litau Labs, и Lunelo — мой собственный продукт, а не клиентский заказ. Начал я его не с фичи «добавить ИИ», а с личной боли: планировщики требуют, чтобы ты сначала сам разложил хаос в голове по полочкам, а потом уже занёс это в приложение. Разработка AI-планировщика задач началась ровно с этой мысли: пусть машина разбирает хаос, а не я.
В этом разборе покажу, как устроен Lunelo изнутри. Где живёт голос, почему из всех моделей я выбрал именно Claude Haiku, что оказалось по-настоящему сложным в цепочке «голос → структура» и как это собрано под iOS и PWA одновременно. Живой продукт можно потрогать в кейсе Lunelo — AI-планировщик на Claude Haiku.
Какую проблему решает AI-планировщик задач
Обычный таск-менеджер молчит и ждёт. Ты открываешь пустое поле «Название задачи» и должен сам:
- вспомнить всё, что висит на сегодня;
- сформулировать каждый пункт коротко и понятно;
- проставить приоритеты вручную;
- разбить крупное дело на шаги;
- назначить дедлайны.
Это пять решений на каждую строчку. Утром, когда голова ещё не проснулась, любое из них становится поводом отложить. Поэтому у большинства людей таск-менеджер зарастает наполовину заброшенными списками.
Я хотел убрать ввод целиком. Не «удобное поле», а вообще отсутствие набора текста. Ты говоришь так, как думаешь: «сегодня надо дописать оффер клиенту, забрать посылку, вечером созвон с Ромой по проекту, и не забыть заплатить за хостинг». Это не задачи, это поток. Задача Lunelo — превратить поток в план.
Твоя голова не список дел. Она для того, чтобы думать, а не хранить пункты. Пусть ИИ держит список.
Как работает связка «голос → Claude Haiku → задачи»
Пайплайн простой на бумаге и капризный в деталях. Вот полный путь от нажатия на микрофон до появления карточек:
- Захват голоса. На вебе (PWA) я использую OpenAI Whisper для транскрипции, на iOS — нативное распознавание речи через Capacitor. Движки разные, потому что нативный на телефоне быстрее и не жрёт трафик, а на десктопе Whisper даёт лучшую точность.
- Транскрипт в текст. Получаю сырую расшифровку: сплошной поток без пунктуации и границ задач.
- Разбор через Claude Haiku. Отправляю текст в модель с жёстким системным промптом: сегментируй поток на отдельные задачи, убери дубли, для каждой определи приоритет, категорию, дедлайн и, если дело крупное, разбей на подзадачи.
- Структурированный ответ. Haiku возвращает не прозу, а строгий JSON: массив задач с полями. Я валидирую схему и подставляю дефолты, если модель что-то пропустила.
- Карточки на экране. Задачи раскладываются по Today / Week, первая маленькая подзадача подсвечивается, чтобы было с чего начать.
Ключевой момент: модель не «пишет ответ пользователю». Она работает как парсер. На входе человеческий хаос, на выходе данные, которые приложение раскладывает по своим экранам. Это меняет требования к модели: важна не красота текста, а надёжность структуры и скорость.
Почему Claude Haiku, а не GPT-4 или Sonnet
Выбор модели для AI-планировщика — это не «какая умнее», а «какая правильно попадает в бюджет секунд и центов». Разбор потока в задачи не требует глубоких рассуждений. Ему нужна дисциплина формата и низкая задержка. Вот как я сравнивал варианты под эту конкретную работу:
| Критерий | Claude Haiku | Claude Sonnet | GPT-4 класс |
|---|---|---|---|
| Задержка на разбор | секунды, ощущается мгновенно | заметно дольше | заметно дольше |
| Цена за разбор | копейки, не жалко на каждый ввод | в разы дороже | в разы дороже |
| Дисциплина 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 подтвердил мой рабочий принцип на клиентских проектах: ИИ надо ставить точечно, туда, где он снимает конкретное трение, а не «чтобы было». В планировщике трение — это ручной ввод. Убрали ввод, получили продукт, которым пользуешься, потому что это быстрее, чем печатать.
Тот же подход я переношу в заказную разработку. Например, в подписочной йога-школе Клуб 365 при миграции с Tilda на WordPress я сохранил рабочий квиз и оплату без даунтайма, и конверсия выросла на 46%, потому что убрал трение в пути пользователя, а не добавил модных фич. AI-планировщик — та же философия, просто инструмент другой.
Если вы думаете про AI-фичу в своём продукте — чат-бота, ассистента, голосовой ввод — логика одна: найдите одно место, где пользователь буксует, и уберите буксование машиной. Про то, как я собираю ассистентов на своих данных, есть отдельный разбор AI-чат-бот на своих данных (RAG), а про экономику таких фич — сколько стоит AI-чат-бот для сайта.
Хотите обсудить AI-фичу или продукт под ключ — напишите мне через форму, я работаю напрямую, без агентства и посредников.
Частые вопросы
Сколько стоит разработка AI-планировщика задач?
Стоимость зависит от объёма: MVP с одним AI-сценарием (голос или текст → структура) собирается быстрее и дешевле, чем полноценное приложение с iOS, PWA, уведомлениями и премиум-тарифом. Сама AI-интеграция обычно не самая дорогая часть — больше времени уходит на экраны, состояния и отладку цепочки «голос → структура». Точную оценку даю после короткого созвона про ваш сценарий.
Почему для Lunelo выбрана Claude Haiku, а не более мощная модель?
Разбор потока речи в задачи — это сегментация и классификация, а не глубокие рассуждения. Здесь важнее скорость и цена, чем «интеллект» модели. Haiku отвечает за секунды и стоит копейки на разбор, поэтому пользователь может наговаривать день сколько угодно раз без задержек и без разорения на API. Тяжёлая модель была бы переплатой без выигрыша в качестве.
Нужен ли программист, чтобы добавить голосовой AI-ввод в приложение?
Да, потому что сложность не в вызове модели, а в цепочке вокруг: захват голоса, транскрипция, жёсткий промпт под структурный вывод, валидация JSON, экран подтверждения и обработка ошибок. Готовые no-code решения ломаются на границах задач и дедлайнах из разговорной речи. Я собираю такую связку под конкретный сценарий, чтобы она работала стабильно, а не только на демо.
Можно ли встроить похожий голосовой разбор в существующий продукт?
Да. Связка «голос → ИИ → структурированные данные» переносится на любой домен: заметки, заявки, CRM, отчёты. Логика та же — Whisper или нативное распознавание для голоса, Claude или GPT для превращения текста в поля, экран подтверждения перед сохранением. Я встраиваю это в готовый продукт без переписывания всего, точечно в нужное место.
Работает ли Lunelo без интернета?
Разбор через ИИ требует сети, потому что модель работает на сервере. Само приложение как PWA и нативный iOS открывается и показывает уже созданные задачи офлайн, но новый голосовой ввод отправляется на разбор при появлении связи. Это компромисс: локальные модели пока не дают такого качества структуризации на телефоне при разумном расходе батареи.
Нужен похожий проект?
Разработаю сайт, лендинг, веб-приложение или AI-фичу под ключ — напрямую, без агентства.