# 🎯 Записи загружаются и читаются в приложении, которое ставится на телефон - **Тип:** goal - **Секция:** Запланировано — Экраны приложения нужны раньше настроек, удаления, уровней текста и статистики: всем им негде показаться. - **Зачем:** Сегодня записи принимает только бот и голый HTTP API без интерфейса: отдать сервис человеку, у которого нет Telegram, нечем. - **Теги:** decomposed Приложение получает поверхность, на которой запись загружают и забирают текст, не открывая Telegram и не вызывая API руками. Ставится оно на телефон и открывается с ярлыка, как обычное приложение. Конвейер обработки при этом остаётся прежним — меняется вход и способ показать результат. **Приложение — основной вход сервиса**, бот остаётся дополнением для голосовых сообщений. Экраны рисуются сначала под телефон, потом под широкий экран. Границы взяты уже: запись звука в самом приложении и работа без сети за целью **не стоят** — файл выбирают в системном диалоге, а без сети приложение показывает, что связи нет. ## Завершение 1. Экран принимает файл и заводит задачу — ту же, что заводит бот. 2. Состояние задачи видно на экране и обновляется само, пока задача не дошла до `done` или `failed`; отказ показывается человекочитаемым текстом. 3. Готовый текст читается и копируется с экрана целиком, без деления на части. 4. Список своих записей открывается и листается. 5. Приложение ставится на телефон из браузера и запускается с ярлыка на отдельном экране, без адресной строки. 6. Открытое без сети, приложение показывает это состоянием, а не пустой страницей и не ошибкой браузера. 7. Загруженная запись слушается на своём экране, а не скачивается файлом.