Goal Decomposer: продиктовать цель и получить задачи с дедлайнами

Приложение, которое превращает продиктованную голосом цель в план задач с дедлайнами: уточняющие вопросы ассистента, таймлайн по месяцам, напоминания в браузере. Сервер на Node без внешних зависимостей.

Goal Decomposer: продиктовать цель и получить задачи с дедлайнами
INGELLO / BUSINESS2841
Связаться с нами
Goal Decomposer: план с дедлайнами, сводка сроков и таймлайн задач по месяцам
План с дедлайнами: объяснение ассистента, сводка сроков и задачи по датам

Goal Decomposer решает самую скучную часть планирования: превращение расплывчатой цели в конкретные задачи со сроками. Цель можно надиктовать голосом или написать, ассистент задаёт уточняющие вопросы и выдаёт план, где у каждой задачи есть дата, отсчёт дней и напоминание.

Приложение сделано одним экраном из трёх шагов: цель, уточнение, план. Данные на снимках демонстрационные: цель и план подготовлены для показа.

Для кого

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

Как это работает

  1. Пользователь диктует цель или пишет её текстом. Язык диктовки выбирается переключателем: русский, украинский или английский.
  2. Ассистент коротко пересказывает, как понял цель, показывает черновик задач с датами и задаёт от трёх до шести уточняющих вопросов.
  3. Пользователь отвечает, и ассистент собирает итоговый план: объяснение и от пяти до двенадцати задач с дедлайнами и напоминаниями.
  4. План сохраняется и остаётся на месте после перезагрузки страницы, а браузер присылает напоминания о сроках.
Goal Decomposer: ввод цели, кнопка диктовки и выбор языка распознавания
Шаг 1: цель текстом или голосом, язык диктовки переключается
Goal Decomposer: резюме цели, черновик задач и уточняющие вопросы с ответами
Шаг 2: как ассистент понял цель, черновик задач и ответы на уточняющие вопросы

Что внутри

  • Распознавание речи работает прямо в браузере через Web Speech API: текст появляется в поле по ходу диктовки, диктовку можно остановить и продолжить. Там, где браузер речь не распознаёт, цель вводится текстом.
  • Декомпозиция идёт в два запроса к модели OpenAI. Первый возвращает резюме цели, уточняющие вопросы и черновик задач, второй учитывает ответы и строит итоговый план. Модель отвечает строгим JSON, сервер получает из него данные даже если ответ обёрнут в лишний текст.
  • Дедлайны модель ставит от сегодняшней даты, которую сервер передаёт вместе с целью. В плане задачи сгруппированы по месяцам, у каждой видно, через сколько дней срок; близкие сроки подсвечиваются жёлтым, просроченные красным. Сверху сводка: число задач, ближайший срок, финиш и дни до него.
  • Напоминания показываются системными уведомлениями браузера через service worker. Таймер раз в 30 секунд сверяет сроки, поэтому напоминания приходят, пока приложение открыто во вкладке.
  • Хранение: план лежит в браузере и копией на сервере под анонимным идентификатором устройства. Если браузерную копию очистить, план подтянется с сервера.
  • Ключ OpenAI пользователь вводит сам в настройках. Ключ хранится в его браузере и уходит на сервер только на время запроса, сервер его не записывает.

Экспорта в календарь и интеграций с таск-трекерами в проекте пока нет: план живёт внутри приложения.

Goal Decomposer: задачи плана по месяцам с датами, отсчётом дней и напоминаниями
Таймлайн: задачи по месяцам, отсчёт дней до срока и время напоминания
Goal Decomposer на телефоне: цель, уточнение и план
На телефоне те же три шага идут одной колонкой

Инженерные решения

  • сервер на Node без внешних зависимостей: раздаёт интерфейс, проксирует запросы к модели и хранит планы в JSON-файле;
  • адрес API и модель задаются настройками окружения, поэтому приложение работает и с OpenAI напрямую, и через совместимый шлюз;
  • два теста: быстрый смоук сервера и сквозной прогон интерфейса в headless Chrome, где модель подменена заглушкой, а сценарий проходит от цели до плана и восстановления после перезагрузки.

Где применимо

Личное планирование, постановка задач в небольших командах, интейк заявок в сервисных компаниях, где клиент описывает проблему словами, а система должна выдать понятный план работ.

Схема данных

Что уходит в модель, что возвращается и где хранится план.

Goal Decomposer: схема данных

Контур системы

Путь от продиктованной цели до напоминания о сроке.

Goal Decomposer: контур системы

Схема интерфейса

Как устроен рабочий экран.

Goal Decomposer: схема интерфейса

Где посмотреть

Постоянного публичного адреса у проекта нет. Приложение запускается локально или через временный туннель Cloudflare, адрес которого меняется при каждом перезапуске, поэтому ссылку здесь не публикуем. Показываем его на демонстрации, по записи.

Технологический стек и подходы

SaaS архитектура Микросервисы Облачные вычисления Масштабируемость ПО API интеграции DevOps процессы High-load системы Кибербезопасность решений

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

01Зачем голос, а не форма?

Потому что цель редко формулируется полями. Голос снимает барьер входа, а уточняющие вопросы делают из свободного текста структуру.

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

Нет. Разбор цели и построение плана идут через модель OpenAI, поэтому нужна сеть. Service worker в приложении отвечает за показ напоминаний, а не за офлайн-режим; сохранённый план остаётся в браузере и открывается после перезагрузки.

03Можно ли встроить это в наш процесс?

Да. Типовое применение, интейк: клиент описывает задачу словами, а система превращает это в структурированную заявку с задачами и сроками.