Как ChatGPT помог мне создать музыкальный плеер мечты и заработать 74 ₽ на рекламе

Опыт читателя
56
Как ChatGPT помог мне создать музыкальный плеер мечты и заработать 74 ₽ на рекламе

Это история из Сообщества. Редакция задала вопросы, бережно отредактировала и оформила по стандартам Журнала

Аватар автора

Роман

создал приложение для себя

Страница автора

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

Задавал чат-боту вопросы и понял, что с его помощью можно узнавать многое. На первом этапе выстраивал общение по схеме «вопрос — инструкция — действие». В основном это касалось программирования: мне всегда было интересно создавать что-то новое. Если в инструкциях ИИ встречались непонятные моменты, просил объяснить их подробнее — так постепенно я обретал и прокачивал навыки.

Сначала я освоил создание ботов на Python и их размещение на сервере. Сделал ботов для гадания на Таро, поиска видео на «Ютубе» и проведения познавательной викторины. Один из проектов я выполнил на заказ для школы медитации — это был сложный бот с админ-панелью, которая позволяет владельцу самостоятельно загружать анонсы, видеоуроки, музыку, файлы и посты без помощи разработчиков.

Затем у меня появилась идея — создавать на базе ботов приложения, которые не требуют доступа к интернету и развертывания на сервере. Например, я отправил код бота на Python в ChatGPT и попросил переписать его на Java. Так появилось приложение «Таро Гадание» — сейчас это самая популярная из всех моих разработок.

Как я работал над музыкальным плеером

Первая версия. У меня было несколько телефонов, и стандартные приложения для прослушивания музыки в них всегда были перегружены лишними функциями, разделами, рекламой и подписками. Поэтому слушать в них сохраненные треки было неудобно. Тогда я решил создать свой музыкальный плеер — с минимальным набором функций, которые нужны именно мне.

Для разработки обратился к ChatGPT. Чат-бот сгенерировал код, я вставил его в Android Studio, но сразу столкнулся с ошибками. Я отправлял ChatGPT фрагменты кода с текстами ошибок и просил подробно объяснить, как их исправить. Через несколько часов у меня был готовый плеер с базовыми функциями: воспроизведением, перемоткой и перелистыванием треков. Вместо кнопок интерфейса я использовал эмодзи ▶️, ⏸️, ⏩, ⏪.

Один из моих первых диалогов с ChatGPT о разработке приложения
Один из моих первых диалогов с ChatGPT о разработке приложения

Выложил плеер в RuStore, почитал комментарии и понял, что многим нужен легкий, неперегруженный проигрыватель. Но пользователи отметили нехватку важных функций: создания плейлистов, эквалайзера и фонового прослушивания.

Я решил добавить их, но ChatGPT 4о оказался не слишком удобен для сложных задач в формате «вопрос-ответ». Вскоре вышла более умная модель GPT-o1, и именно благодаря ей плеер получил новые возможности: добавление треков в избранное и плейлисты, а также фоновое воспроизведение. Дизайн оставлял желать лучшего, но я все равно был доволен результатом.

Первая версия моего плеера
Первая версия моего плеера

Обновления. Однажды на «Ютубе» я наткнулся на видео о сервисе Cursor, который помогает писать и редактировать код с помощью ИИ. Захотел протестировать его, но не нашел подробных инструкций по взаимодействию с разработками на основе Android Studio. Тогда я просто открыл в приложении папку с проектом плеера и решил действовать на ощупь. Проект синхронизировался с сервисом, и нейросеть получила доступ к коду.

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

Интерфейс Cursor — нейросети, которая помогает писать и редактировать код
Интерфейс Cursor — нейросети, которая помогает писать и редактировать код

Я просто соглашался с изменениями — они автоматически вносились в проект. Иногда возникали ошибки, но я отправлял их в чат и после исправлений продолжал. Уже в первый день плеер преобразился до неузнаваемости. Он стал выглядеть профессионально: появились векторные иконки, две темы и возможность добавлять песни в созданные плейлисты. После этого я выложил обновленную версию приложения в RuStore и AppGallery.

Чтобы понять, каких функций не хватает, я изучил другие плееры в магазинах приложений и отзывы пользователей. Затем добавил эквалайзер с пресетами и мини-плеер с приятной анимацией волны при воспроизведении. Реализовал возможность ставить трек на рингтон, предварительно обрезав его. Внедрил режим сна, чтобы плеер автоматически выключался через 15 минут, полчаса или два часа. Кроме того, я нигде не встречал функции «поделиться треком», а мне она показалась удобной. Поэтому добавил и ее.

1/2
Последняя версия плеера — в светлой и темной темах
Последняя версия плеера — в светлой и темной темах

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

Но AppGallery отклонил заявку, так как русский вариант уже был в магазине. Служба поддержки предложила объединить локализации в одном приложении. После этого я добавил еще и китайский язык. Теперь локализация автоматически подстраивается под язык смартфона.

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

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

Для меня удобство использования важнее, чем стремление заработать.

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

На плеере с 9 по 22 января я заработал в «Яндекс Рекламе» 74,3 ₽ за 935 показов баннера. Понятно, что приложение только недавно получило свежие функции, стабильную версию и локализации на другие языки. Поэтому я надеюсь, что доходы от рекламы со временем будут расти.

Заработок в «Яндекс Рекламе» в январе
Заработок в «Яндекс Рекламе» в январе

Плюсы и минусы чат-бота

Без чат-бота я бы не смог так быстро и качественно создать приложение — скорее всего, даже не стал бы начинать. Но есть и минусы: часто приходится исправлять ошибки, а иногда нейросеть неправильно понимает задачу, что усложняет разработку. Порой приходится начинать с нуля. В таких случаях очень выручает копирование папки с проектом: можно вернуться к той стадии, где все работало корректно.

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

Итоги

Мне удалось сделать даже больше, чем я изначально планировал, и добиться стабильной работы приложения. Теперь оно выглядит профессионально — уже не скажешь, что его разработал не программист. Думаю, плеер получился отличным. Я сам активно пользуюсь им: слушаю треки, создаю плейлисты для поездок и занятий спортом.

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

Судя по статистике, в одном лишь RuStore мой «Плеер для музыки» скачали более 2000 раз. Положительные отзывы после обновлений подтверждают, что я сделал все правильно, а плеер нравится не только мне.

РедакцияКакое приложение мечты вы бы хотели создать с помощью нейросетей?
  • МаксимНесколько рублей в день — реально рублей или тысяч рублей?0
  • РоманМаксим, реально рублей, а не тысяч.0
  • МаксимРоман, ну кстати это круто. Вашим продуктом пользуются2
  • РоманМаксим, согласен. По сути плеер только несколько дней назад стал стабильным и более функциональным. Поэтому и создал его с разной локализацией. Только со временем узнаю, скачивают его в других странах через AppGallary или нет. Первое китайское название было занято, пришлось придумывать новое. Значит у них своих плееров полно.)0
  • Boris Köln"очень выручает копирование папки с проектом: тогда можно начать с той точки, где проект был на нужной стадии разработки" Научитесь пользоваться Git40
  • РоманBoris, обязательно научусь, спасибо.3
  • Илья С.Лол, а я тоже буквально вчера закончил делать музыкальный плеер на сайте (на JavaScript с помощью нейронок) 1. Кнопки (назад ¦ воспроизведение ¦ вперёд) 2. Background-color меняется в зависимости от цвета обложки 3. Регулировка громкости: зажал ЛКМ на обложке, крутишь вверх или вниз (визуально появляется кружок заполняющий обложку с процентами; на 0 обложка становится чёрно-белой) 4. Проблема одна осталась -- перемотка. Она не работает никак. Сколько бы я методов не перепробовал и сколько бы я логов не понаставил. Когда на progress-bar кликаешь, трек перезагружается. Хотя время отображается, когда наводишь.0
  • Илья С.Boris, в lmarena появился repochat, который позволяет скинуть ссылку на любой репозиторий github и тогда нейронки получат доступ ко всем файлами проекта. Очень удобная штука. Можно начать с того места, где остановился. Я теперь вообще не плачу деньги за LLM и не имею никаких лимитов в запросах или количестве символов.2
  • Илья С.О, вы вот пишите про Cursor. Тема интересная. Я изучал ещё 6 нейронок, которые позволяют работать с ними прям в IDE. Типа Devika, Open Hands, ещё что-то (щас уже не вспомню названия). Они все в основном платные. Есть у кого-то пробный период. И только 1 нейронка бесплатная. Так вот, мне всегда было интересно, может ли эта или другая нейронка открыть папку уже готового проекта? А не начинать всю работу с нуля. Ибо я всё ещё по старинке общаюсь с LLM: через чат. И код скидываю через чат. Вот так всё неудобно, да.0
  • Виктор ПлюснинИнтересно, как это у современных человеков получается сочетать в одном не особо длинном абзаце «качественно создать приложение» и «часто приходится исправлять ошибки»...10
  • РоманВиктор, сейчас ошибок в плеере нет. Я всё, что замечал, сразу старался исправить. На это ушло время, можно судить по истории версий. Отсутствия ошибок и стабильной работы плеера удалось достичь путем исправления выявленных багов в ходе тестирования. В ходе добавления новых функций, появляются новые баги. Работа с ИИ - это в основном исправление ошибок. Это не противоречит итоговому хорошему результату.3
  • РоманИлья, тоже часто сталкивался с тем, что нейросеть по кругу водит и ни в какую не даёт что-то исправить. Я тогда этот вопрос задавал другим нейросетям и в итоге решение находилось обычно.0
  • РоманИлья, у Cursor есть бесплатный период. Я довольно много успел в нём поработать. Потом удалил аккаунт и зарегался повторно - опять получил бесплатный период. А третий раз так сделать не получилось, видимо, пофиксили. Пришлось 20 баксов отдать за подписку. Я не мог остановиться, так как придумывал логическую игру с числами. Игра объединила логику 3 в ряд и 2048. Уже кстати выложена она "Магия чисел." Вот Cursor очень круто помог с анимациями в игре.0
  • РоманPanzer, практика показывает, что приложение созданное с помощью ИИ в разы стабильнее приложений, созданных не очень умелыми программистами. Достаточно почитать комментарии к большинству приложений. Большинство делают их с кучей багов, вставляют рекламу и забрасывают. А ИИ мотивирует все до последнего бага исправить. Я создал уже достаточно много приложений и уже могу делать такие выводы. Вот только ИИ тоже нужно правильно использовать, так как все относительно и абсолютной истины в этом вопросе нет.1
  • Quirky QuokkaПогодите, правильно ли я понял, что автора раздражала реклама в плеере, покупать лицензию он не хотел, но потом создал свой плеер, запихнул туда рекламу и теперь монетизирует его?30
  • Михаил ЧекановСогласен, приходится начинать сначала, постоянно. И надо бэкапить. Потому что такого наворотит, что ни я, ни Ai понять не можем, почему не работает и так по кругу 😁2
  • РоманМихаил, ничто не вечно, кроме ошибок ИИ.)2
  • Боливар Ди ГризMaEd, ИИ может заменить разве что мамкиных эникейщиков, которые делают какие-то элементарные приложения. В реальных крупных проектах всё куда сложнее.7
  • Розарио АгроСпасибо, не куплю 😆1
  • ДенисЭто всё замечательно, но я до сих пор не могу понять. Неужели в f-droid и вообще в open-source не нашлось ни одного подходящего плеера? Ведь там нет рекламы, но при этом есть возможность что-то поменять, предложить это изменение самому разработчику. Я понимаю, когда используется проприетарный софт с кучей рекламы за неимением альтернативны… но плеер? Кстати, в некоторых смартфонах (например, Samsung) есть и свой неплохой стоковый плеер, его тоже можно использовать7
  • РоманДенис, сама идея создать что-то свое уже очень сильная мотивация. Когда я начал создавать у меня был хуавей и стандартный плеер там совсем уж плох. Заходишь в него и сразу предлагаются подписки непонятные с бесплатным периодом. Куча хлама, а свои песни ещё нужно поискать. Сейчас у меня самсунг. Согласен, что в нем плеер неплохой, но не забрасывать же из-за этого свой труд.2
  • Влад БеляковА почему не kotlin/swift в качестве языка программирования?0
  • РоманВлад, на java проще, так как знаю базу. Но в Cursor сейчас рисовалку делаю на kotlin+java. Сегодня, кстати, доделал рисовалку и выложил. Вроде получилось круто (на мой взгляд) - все, что задумывал реализовал.0
  • РоманВлад, кстати про рисовалку на котлине. Сегодня испытывал её и нарисовал такую картину.1
  • Panzer KaiserРоман, если бы это было так бизнес бы использовал ИИ, а не людей. Ну и относительно ИИ - это сборщик инфы по инету. Включая помойную и дезинформацию( 99.9% коей в интернете). Думать он не умеет и даже инфу предоставлять не умеет. Попроси его текст нужного закона, к примеру, и он вместо того, чтобы найти ответ из оф.источника ответ выдумает. Толк от него есть конечно (если ты уже программист с фундаментальным знаниями, а не волшебник тяп-ляп), но верить ему нельзя.0
  • РоманPanzer, можно размышлять и быть философом сколько угодно. А можно брать и делать то, что нравится и не смотреть на других. В итоге в выигрывает тот, кто делает и не боится браться за то, чего поначалу не умеет. Может не сразу, но тот, кто делает, будет совершенствовать свои навыки. А тот, кто размышляет и находит причину для бездействия никогда не будет двигать прогресс или просто обретать новые умения.2
  • Смбат Алиханянкруто)1
  • мумитрольВсё было прекрасно до момента "выложил в стор и добавил рекламу для монетизации".0
  • Андрей АстафьевХех .. все приложения когда так начинались - "без всякой ненужной шелухи ..", а потом начинается холивар - кто первый напишет свою ОС: Nero или ACDSee8
  • TogamyПользуюсь аимпом везде, бесплатный плеер.4
  • Panzer KaiserРоман, это к чему? Я лично ИИ юзаю, но аккуратно. Ибо врун он еще тот. Но мне распознать его ложь помогают фундаментальные знания в тех областях, где я его задействую. Я не понимаю каким образом его используют профаны. Ошибка выжившего + удача 99лвл? По моему только так. И научиться ничему хорошему нельзя без ревьюинга и контроля на начальных этапах. Нужен ментор. Учитель. Будь то разработка, музыка или еще что. Переучивать же потом.0
  • РоманPanzer, мне не требуется истина в последней инстанции, чтобы разработать работающее приложение, которое предоставляет необходимые функции. Поэтому для кого ваши комментарии мне тоже непонятно. И также непонятен ваш мотив, с какой целью пытаетесь переубедить меня заниматься тем, что нравится и что я делаю с каждым разом все лучше? Вы останетесь в итоге при своём мнении, а я при своём. К чему тогда этот бессмысленный спор?1
  • РоманTogamy, хорошо, что есть много предложений и вариантов, что повышает свободу выбора пользователей.1
  • Panzer KaiserРоман, я вас не пытался переубедить. Вы свои фантазии и домыслы выдаете за мои слова. Не надо так делать. Истины же вообще не существует.1
  • РоманPanzer, рад, что мы друг друга в итоге поняли. Согласен, что абсолютной истины в подобных вопросах нет.0
  • Alex Vetrov"стандартные приложения для прослушивания музыки в них оказались перегружены лишними функциями, разделами, рекламой и подписками" "я задался целью научиться монетизировать приложение с помощью рекламы" ты хотел бороться со злом, а в итоге примкнул к нему. и вот у нас есть ещё один плеер со стандартным набором функций и рекламой.19
  • РоманAlex, такова жизнь. Достигнув одной цели, ставишь новую. Раньше на мне зарабатывали, показывая рекламу, а теперь я, хоть и копейки. А статья призвана показать пример, что так может попробовать каждый. Надеюсь, что кого-то она вдохновит и даст толчок к развитию.0
  • Александр СавушкинБред. Создал ещё один велосипед. Никогда кастомный плеер не будет лучше стандартного плеера Sony или iPhone, хотя бы даже потому, что, к примеру у Sony, есть аппаратная поддержка DSD. Ну и кастомные плееры ушли в прошлое с развитием стриминговых сервисов.2
  • РоманАлександр, в статье специально есть скриншот статистики скачиваний. Если он никому не нужен, зачем люди им пользуются? Если он вам не нужен, не вопрос. Но у каждого человека своё мнение и свои интересы. Да и смысл статьи совсем не в плеере, а в том, что каждый при желании может, следуя инструкциям ИИ, воплощать свои идеи и искать способ их монетизировать.2
  • Александра НовоселоваДенис, плюсую. Как пет-проект и опыт для того чтобы показать на собесе - круто, но подходящих под тз автора плееров достаточно много, и среди них можно найти хоть FOSS, хоть плееры с легковесным интерфейсом, хоть с чем ещё угодно.2
  • meeeaowmeНу серьезно — мир мог иметь хороший плеер без рекламы. Не имею права осуждать, но магия происходящего улетучилась мгновенно10
  • Наталья ПарфёноваНормально бабок поднял1
  • Иван ФуловыйРоман, спасибо за статью! Давно хотел сделать приложение для андроид, и благодаря вашим примерам сделал за вечер!3
  • РоманИван, это очень круто! Рад, что статья была полезной и вдохновила на создание своего проекта! В том числе и для этого она писалась.1
  • РоманНаталья, согласен, что на начальном этапе - это копейки, но сам факт, что на ИИ можно зарабатывать вдохновляет. Если найду способ добраться до плей маркета, то будет намного серьёзнее все.)0
  • Иван ДылгировQuirky, я согласен с вами и другими людьми, что делать монетизацию через рекламу, когда ты сам от такого раздражаешься - это уже вопрос к морали Я считаю, что раз это обучение и хобби, то можно сделать более уважительный к пользователю метод монетизации - например, на главном экране сделать кнопку "Поддержать разработчика" - любой желающий может отправить донат Да, это непопулярный метод из-за невысокой доходности, но как пользователь с большим опытом скажу, что это намного лучше, чем всплывающие баннеры, видеореклама со звуком или откусанные рекламой участки интерфейса - эти вещи только отталкивают пользоваться такими поделками А если напротив, приложение, пускай и простое, работает без нареканий и не раздражает рекламой, то это только привлекает и удерживает пользователей, а также защищает от возможных разработок пиратских версий приложений с вырезанной рекламой Ну, а если вам нужен хороший бесплатный плеер без рекламы, то могу порекомендовать AIMP - сам им пользуюсь : )1
  • RuslanРоман, если честно, то не будет, не стоит рассчитывать на особый заработок с этого. Как пет проект, прикольно, но многое еще стоит изучить.0
  • РоманRuslan, возможно. Но всегда лучше попробовать и узнать на своём опыте, чем придумывать причину чего-то не сделать. У меня же не только плеер, а ещё много приложений создано. Но учиться новому, конечно, надо.0
Вот что еще мы писали по этой теме