Контекст
Планы приходят в голову потоком: «завтра созвон, купить подарок маме, в понедельник напомни оплатить интернет». Записывать каждый пункт в календарь руками долго, поэтому половина теряется.
Роль и период
Делаю один: продукт, дизайн и код. Код пишу вместе с Claude Code — задачу и решения ставлю я, результат проверяю на своём iPhone. 25 сентября — первый тест, 8 октября — пилот с людьми.
Задача
Сказать поток мыслей и получить напоминания, заметки, встречи и дела в календаре, со своим временем, без наложений на занятое.
Рамки
- Минимум денег: подписка Claude уже есть, нейросети для разбора — на бесплатных тарифах.
- Запись в календарь — только после подтверждения человеком.
- Ничего не ставить раньше начала дня человека, если время не названо явно.
Масштаб
2 недели
от первого теста на своих голосовых до пилота с людьми
- 29экранов приложения и админки
- 76клипов с помощниками
- 4помощника на выбор
Этап 1. Telegram-бот для себя
25 сентября — первый тест на 9 моих настоящих голосовых по 14–35 секунд, в тот же день — бот в Telegram, которым я пользуюсь сам. Здесь сложились главные правила разбора и карточки.
Начать с Telegram-бота
- Находка
- Приложения Claude на телефоне у меня нет, а своё приложение для iPhone — это аккаунт разработчика и недели работы до первого теста.
- Решение
- Бот в Telegram: голосовое сообщение расшифровывает Whisper, пункты выписывает Gemini, бот живёт на уже оплаченном сервере. Карточка с кнопками, запись в iCloud по подтверждению.
- Почему
- Первое голосовое прошло путь до календаря в тот же день и за 0 ₽ сверху. Бот проверил главное — что нейросеть вообще понимает поток мыслей.
Нейросеть выписывает фразы, время считает код
- Находка
- Нейросеть сама придумывала часы: «вечером» — 18:00, «завтра» — полночь, «днём» — 12:00. «В пятницу» превратилось в воскресенье.
- Решение
- Нейросеть только выписывает фразу дословно — «завтра в 11 вечера часа на два». Дату, время, длительность, наложения и свободные окна считает код.
- Почему
- Ошибку кода чинишь один раз и закрываешь тестом, а ошибка нейросети плавает. Короче стала и подсказка: на входе на 34% меньше токенов, в ответе — на 70%.
Одна карточка на надиктовку
- Находка
- Сводка и вопросы сначала шли отдельными сообщениями. Кнопки кочевали между ними: получалось два «Записано» и две разные «Не записывать».
- Решение
- Одна карточка, которая меняется на месте: пункты, вопрос к тому, что неясно, «Изменить» у каждого пункта и «Записать всё» внизу. Так она и перешла в приложение.
- Почему
- Человек видит всё, что будет записано, в одном месте, и подтверждает один раз.
Названное время ставится как сказано
- Находка
- Если время уже занято, можно сдвинуть пункт самому, но тогда человек получит не то, что сказал.
- Решение
- Названное время не трогаем, а предупреждаем: «пересекается — что переносим?». Сам секретарь подбирает время только для «утром», «вечером» и встреч без часа — и обходит занятое.
- Почему
- Решение о своём времени остаётся за человеком, а секретарь не делает молча то, о чём его не просили.
Без выбора — не записывать
- Находка
- Запасное время «по умолчанию в 10:00» ставило дело поверх другого дела, а на сегодня — в прошлое.
- Решение
- Время не названо — вопрос со всеми свободными окнами дня. Пока вопрос открыт, кнопки «Записать всё» нет: только окно, «Другой день» или «Пропустить».
- Почему
- Лучше один лишний вопрос, чем пункт, который появится не там и о котором человек не узнает.
Встреча или дело
- Находка
- «Съездить к родителям» становилось встречей, и секретарь предлагал «договориться о времени», хотя договариваться не с кем.
- Решение
- Встреча — когда человека ждут к определённому времени: созвон, врач, договорённый обед. Дело — то, что он делает сам, когда удобно, включая поездки и помощь людям.
- Почему
- От вида зависят вопросы и оповещения: встреча — за час и за 15 минут, дело — за 15 минут. Правило проверено на 11 контрольных фразах — 11 из 11.
Этап 2. Приложение: первая версия
- 1 октября — разбор «как коммерческий продукт»: бот на других людей не переносится; начато веб-приложение.
- 5 октября — учётные записи, вход по приглашению, админка; многопользовательский бот отменён.
- 8 октября — приложение на своём домене с HTTPS, пилот с людьми.
Веб-приложение вместо бота
- Находка
- Бот работал у меня, но на других людей не переносился: Telegram в России блокируют, бесплатные ключи нейросетей не для людей из России, а для записи в календарь каждому пришлось бы отдать пароль Apple ID. Кнопки в сообщениях тоже упёрлись в потолок: ни ленты дня, ни выбора времени, кроме ряда кнопок.
- Решение
- Веб-приложение для iPhone с иконкой на экране «Домой», входом по приглашению и разбором тем же кодом, что у бота: правила разбора живут в одном месте и чинятся сразу для обоих.
- Почему
- Кликабельный прототип не подошёл — проверять нужно на живом голосе. Веб-приложение дало микрофон, уведомления и свой экран без App Store.
1 октября — первая версия: разбор и карточка переехали из бота тем же кодом, а вид — светлый и минималистичный, без лишнего.
Помощники: почему у секретаря появилось лицо
Зачем помощник
- Находка
- Первая версия — светлая и минималистичная — выглядела как ещё одна утилита. Редизайн по десяти референсам с Dribbble не прижился: три направления и «матовое стекло» отклонены как несобранные и топорные.
- Решение
- Персонаж-помощник на выбор — панда, кот, сова или робот. Выбирает человек в знакомстве и меняет в настройках; от него же берётся цвет событий в приложении.
- Почему
- Секретарь и так говорит от первого лица — «Нашёл 4 пункта», «Уточню», — и у этого голоса появилось лицо. Тон текстов — живой и доброжелательный, под персонажа.
Помощник показывает, что происходит
- Находка
- Конфетти после записи не говорит «записалось». Пока нейросеть разбирает речь, экран 10 секунд выглядит зависшим.
- Решение
- У помощника есть состояния: на записи он в наушниках, на разборе думает, на «Записано» держит карточку с галочкой, а строки сводки отмечаются в такт. Вариант «пункты улетают к иконкам календаря» отклонён: пункт бывает один, и показывать надо только то, что записалось.
- Почему
- Состояние читается по картинке, без текста, и ожидание разбора перестаёт выглядеть сбоем.
Живой персонаж, а не набор картинок
- Находка
- Процедурный 3D, нарисованные наушники и смена поз картинками не сработали: видно, как кадр меняется на другой.
- Решение
- Опорные кадры поз нарисованы нейросетью, а переходы между ними — видеоклипы, у которых первый и последний кадр совпадают с опорным. Всего 76 клипов на четыре помощника; для маленьких экранов — облегчённые копии.
- Почему
- Любой переход собирается из готовых клипов без рывков, и персонаж двигается как живой.
Последняя версия: с помощниками
Разбор и карточка остались те же, что в боте, а экран построен вокруг помощника: он слушает, думает и показывает, что записалось. Вопрос о времени — листом с сеткой свободных часов.
Первый вход: от приглашения до первой записи
- Находка
- Уведомления веб-приложению iPhone даёт, только если добавить его на экран «Домой». Новый человек этого не знает — и не знает, что вообще можно говорить секретарю.
- Решение
- Сразу после пароля — короткая инструкция, как добавить приложение на экран «Домой», своя для iPhone и для Android. Дальше знакомство: примеры фраз, которые секретарь понимает, и выбор календаря.
- Почему
- Цель — чтобы человек записал первую карточку в тот же день, когда получил приглашение. Весь путь, 21 шаг, проверяется автоматически на iPhone, Android и компьютере.
Календарь — на выбор, не обязательно
- Решение
- Три равных способа: подписка на календарь секретаря, подключение iCloud или Яндекса, или только в приложении. В текстах — только то, что работает сейчас.
- Почему
- Как пользоваться, решает человек. У кого-то десятки рабочих календарей, у кого-то ни одного.
Переход на продуктовый пайплайн
Сначала я шёл от кода: идея — сразу правка в приложении. 7 октября разметил журнал проекта по этапам задним числом и посчитал возвраты.
- Бриф: зачем задача и по какой мере поймём, что она решена.
- Схема экранов и переходов.
- Макет — только из дизайн-системы, в двух темах.
- «Да» на макет — и только потом код.
- Готово: экраны «как есть» пересняты с работающего приложения.
Код — только после макета с «да»
- Находка
- 10 возвратов за 7 дней, и 7 из них — в структуре, визуале и прототипе, которые я решал прямо в коде: редизайн по референсам отменён, вид «Неделя» сделан тремя вариантами в коде, разбор правилами переписан «как в боте».
- Решение
- Этапы с воротами, один бэклог, шесть основных сценариев с мерой успеха, канвас с экранами «как есть» и дизайн-система, собранная из кода. Порядок оформил своим плагином для Claude Code, чтобы он держался в каждой сессии, а не на памяти.
- Почему
- Вариант на макете дешевле варианта в коде. Первыми по пайплайну прошли первый вход — 25 экранов в двух темах — и тарифы.
Первая неделя пилота в цифрах
Главная метрика — доля карточек, записанных без правок: человек сказал, проверил и нажал «Записать всё», ничего не меняя.
За первую неделю
84%
записанных в календарь карточек — без единой правки
- 7%карточек без пунктов — «не расслышал»
- 5%карточек с правкой вида пункта — самая частая правка
- 2%карточек с правкой времени — и столько же с правкой даты
Первый вход: от приглашения до записи
100%
тех, кто надиктовал, записали первую карточку
- 75%открыли ссылку из приглашения
- 100%открывших — зарегистрировались
- 83%зарегистрированных прошли знакомство
Результат
Из Telegram-бота для себя за две недели вырос продукт для людей: в первую неделю пилота 84% карточек записаны без единой правки.
Правки после старта пилота — по сообщениям участников: например, полная синхронизация с Яндекс Календарём появилась по первой же жалобе «не переносится обед».
Пилот идёт дальше — цифры за месяц добавлю в кейс.
