Челлендж по разработке разговорного приложения за $20

Челлендж по разработке разговорного приложения за $20

image1.jpeg

На Android Show в мае 2026 года Google представила функцию под названием Create My Widget. Эта функция позволяет Gemini создавать подходящий виджет, когда пользователь описывает необходимую ему функциональность. Проще говоря, это вайб-кодинг на телефоне. Возможно, это знаменует начало эпохи, в которой программирование больше не будет исключительной сферой разработчиков и любой человек со смартфоном сможет создавать нужную ему функциональность, не имея даже мощного ноутбука.

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

Я не могу предсказать, что нас ждёт в будущем, но решил поэкспериментировать с направлением, предложенным Google, — то есть с ChatGPT от OpenAI (смеётся). Моей целью не было разработать что-то на уровне коммерческого продукта или с расчётом на получение прибыли, и не было это также обучением. Скорее, идея была такой: «Давайте разработаем что-нибудь, что сможет решить неудобства, с которыми я сталкиваюсь в повседневной жизни».

1. Систематизация неудобств и требований

image2.png

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

<Мой трёхэтапный метод изучения разговорного английского>

Шаг 1: Подготовить видео с речью на интересующую тему, несколько раз его просмотреть и понять контекст

Шаг 2: Проверять понимание по одному предложению за раз

Шаг 3: Шэдоуинг

Хотя этот метод обучения занимает много времени, лично мне он кажется довольно подходящим. Однако проблема, как и прежде, заключается в том, что он требует много времени. Вполне естественно, что необходимое для обучения время зависит от моей продуктивности, но подготовка к занятиям занимала слишком много времени. В ходе разговоров с ИИ я выделил три области из множества неудобств, которые больше всего нуждались в улучшении, и сформулировал их как требования.

<Неудобства и требования>

  • Поиск или подготовка скриптов занимает много времени. Я хочу сократить это время.

  • Много лишнего времени уходит на действия, не связанные с обучением, поэтому завершение одного видео занимает слишком много времени. (Например, приходится перематывать на пять секунд назад, чтобы просто прослушать что-то, сказанное двумя или тремя секундами ранее.)

  • Я хочу создать среду, в которой можно заниматься в любое время и в любом месте, независимо от устройства или среды.

2. Проверка решения на соответствие требованиям

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

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

<Решение>

  • На основе URL изучаемого видео извлекать скрипт видео, разбирать его по одному предложению с учётом контекста и создавать учебные материалы, сохраняя временные метки начала и конца каждого предложения вместе с самим предложением.

  • Импортировать извлечённые учебные материалы в мобильное приложение и последовательно проходить этапы обучения.

  1. Разработка

image3.png

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

image4.png

После нескольких доработок я упростил процесс так, чтобы итоговые учебные материалы — с выполненным разбором по предложениям и сопоставлением временных меток — автоматически загружались в мой личный OneDrive. Для этого я использовал Microsoft Azure Entra ID, Application registration и Graph API, настроив автоматическую загрузку в мой личный OneDrive после завершения подготовки учебных материалов.

image5.png

Мобильное приложение должно было интегрироваться с OneDrive, а его основными функциями являлись загрузка материалов и проведение занятий. Я разработал разные пользовательские интерфейсы для каждого этапа в соответствии с собственным методом обучения. В частности, на шаге 2 приложение было настроено на воспроизведение одного предложения за раз, а также я добавил возможность редактировать предыдущее и следующее предложения, чтобы пользователи могли настраивать слишком короткие или слишком длинные предложения. Я также добавил функцию отслеживания, которая считает количество завершённых занятий на каждом этапе и позволяет мне контролировать прогресс обучения.

Конечной целью был выпуск приложения на маркетплейсе. Однако после фактической разработки я пришёл к выводу, что поручать одному мобильному приложению одновременно подготовку учебных материалов — извлечение, разбор и сопоставление предложений — и само обучение было нецелесообразно. Можно было настроить облачный сервер и перенести функциональность настольного приложения в облако, но я отказался от этого варианта, поскольку расходы на сервер казались слишком обременительными для личного использования. Если в будущем я доработаю функциональность и задумаюсь о коммерциализации, возможно, стоит принять этот вызов.

В конечном итоге я считаю довольно значимым личным достижением то, что смог с помощью токенов Codex на сумму $20 разработать и настольное, и мобильное приложение до уровня, подходящего для реального использования. Если бы я руководствовался только своим энтузиазмом, то мог бы смело вложить $100 или $200 и попробовать ещё более разнообразные эксперименты, но как посредственный разработчик я всегда должен учитывать (Physical) Resource, верно?

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

NZ

Site footer