Хочу рассказать о своем приложении “Едем в лес”. По задумке оно должно облегчить сборы в походы как для новичков, так и для опытных туристов. Также в нем можно поделиться своим сетапом снаряжения с коллегами по цеху или помочь собраться другу-новичку.
Это история о том, как я пришел к этой идее, что стало прародителем проекта, какие инструменты использовались для реализации и почему статья опубликована именно в велоразделе, а не в условном «Я пиарюсь» или IT-сообществах.
С чего всё началось
Сначала немного о себе. Катаю лет 10. Сначала это были короткие покатушки, но со временем я заезжал все дальше и глубже в леса. Конечно, натыкался на YouTube каналы путешественников и велотуристов. Хотелось попробовать и это направление. Так, шаг за шагом, на собственных ошибках я обживался снаряжением, пробовал разные велосипедные сумки и заводил новые знакомства. Путем проб и ошибок пришел к байкпакингу и его философии.
Со временем список экипировки так разросся, что держать в голове наличие и состояние вещей стало трудно. Я завел текстовый список в блокноте, который довольно быстро переехал в Excel.
В таблице напротив каждого пункта появились дополнительные поля: объем, срок службы, вес - то есть конфигурация вещей. На этом этапе я уже четко понимал, что у меня есть, сколько оно весит и что нужно заменить ради компактности и легкости.
В итоге у меня образовались две вкладки:
Список снаряжения и его характеристики.
Список сумок и их параметры.
В один прекрасный день пришла мысль скрестить их между собой. Так, сам того не ведая, я создал MVP (минимально жизнеспособный продукт) будущего приложения. Как говорится, каждое успешное приложение когда-то было чьей-то Excel таблицей.
Долгими зимними вечерами я тюнинговал файлы: добавлял специфические характеристики вроде температуры комфорта для спальника, R-value для ковриков и КБЖУ для раскладки еды. В итоге скромный список перерос в монстра из ВПР-формул. Таблица помогала собираться быстрее и наглядно показывала перегруз, но поддерживать в актуальном состоянии столько вкладок стало слишком тяжело.
Пора расчехлять ноутбук
Так и родилась идея создать на основе таблицы полноценное приложение. Уверенности в том, что это нужно кому-то, кроме меня, не было. Поэтому сначала я показывал саму таблицу и мини-демо знакомым и тем кто действительно понимает в вело ПВД, чтобы оценить: полезен ли такой функционал или это уже явный перебор?
К моему удивлению, 90% опрошенных дали положительную обратную связь. Поняв, что проект пригодится не только мне, но и как минимум паре человек из сообщества, я решил: пора расчехлять ноутбук и садиться за код.
Release now, fix later
Бэкграунда профессиональной разработки у меня нет. Весь опыт это пара десятков сайтов на JS и PHP когда-то давно и исключительно на чистом энтузиазме, пара простых приложений на Python да несколько Telegram ботов. Базовый уровень есть, гуглить умею, а дальше по классике: глаза боятся - руки делают.
Как раз в это время коллеги по работе то тут, то там начали открывать для себя “вайб-кодинг” (AI-assisted coding), делясь написанными приложениями и сервисами. И тут меня осенило. Еще в 2020 - 2021 годах мне скидывали Replit. Ребята тогда только начинали и щедро насыпали бесплатных токенов. Но на тот момент искусственный интеллект был сыроват, и токены я так и не потратил.
Осознав, что сегодня Replit превратился в полноценного ИИ-ассистента с поддержкой кучи API, и учитывая рекомендации коллег, я сделал очевидный выбор. Решил стать модным и современным - вкатиться в ИИ-разработку и вайб-кодинг!
Сразу скажу: вайб-кодингу нужно учиться. Важно четко понимать, что именно ИИ может тебе дать, как правильно выстроить запрос и какие выставить рамки - что нейросети разрешено делать, а что категорически запрещено ради получения адекватного результата.
Текущий ИИ - это студент-джун, который только-только окончил курсы по JavaScript. У него нет понимания архитектуры и взаимосвязей. Что ему написали в промпте, то он и сделал, вообще не думая о прошлых или будущих задачах. Помните: дебажить за ним придется долго, а мата в духе “Ну какой же тупой!” и “Зачем ты вообще так сделал?!” будет очень много. Но это дает быстрый старт, и ты не выгораешь в самом начале пути.
В итоге структура и “скелет” логики приложения были свайбкожены буквально за пару недель. Когда проект дошел до стадии, где уже можно было добавить снаряжение, выбрать сумку и виртуально упаковать вещи, я пошел со своим продуктом в народ.
Релиз и первые пользователи
Купил домен и хостинг. Поскольку для синхронизации снаряжения и сумок между устройствами требовалась регистрация пользователей, я автоматически попал под действие закона 152-ФЗ “О персональных данных”. Выполнил все требования, подал уведомление в Роскомнадзор и запустил веб-приложение.
4 мая стало официальным днем рождения проекта! Эх, где то прекрасное время, когда можно было просто закинуть html, css и js через FTP - и всё сразу работало...
Когда я скинул ссылку близким знакомым для тестирования, ладони у меня потели знатно.
Первая неделя прошла в судорожных правках багов. Причем багов банальных, детских (мы ведь помним, что ИИ - это всего лишь зеленый джун). Но для меня главным было то, что приложение работает и им уже можно пользоваться. Еще через неделю, когда система более-менее стабилизировалась, я начал внедрять новые баги фичи, добавлять новые типы снаряжения и сумок. Параллельно стал делиться ссылкой в велосообществах, в которых состою, и довольно топорно рассылать письма с предложениями о сотрудничестве.
Кстати, из-за бага формы обратной связи в “Спорт-Марафон” улетело порядка 10 - 15 одинаковых писем подряд.
Но, к моему удивлению, мне ответил их директор по маркетингу! Он согласился на сотрудничество и пожелал удачи, что дало мне мощный буст двигаться дальше и развивать проект.
Взросление разработки
Спустя еще неделю я понял: хватит это терпеть. Пришел момент переключиться на другого ИИ-ассистента - Cursor, чтобы появилась возможность нормально управлять архитектурой и видеть взаимосвязи в коде.
Если Replit - это чистый вайб-кодинг (пишешь человеческим языком и сразу получаешь результат при минимальных знаниях), то Cursor - это уже полноценная IDE для разработки. Но со встроенным ассистентом, который подскажет, что, куда и как лучше вставить, а также поможет залабать сложный кусок кода. Сейчас я стараюсь контролировать все процессы сам, без слепого участия ИИ. Стабильность приложения от этого сильно выросла, хотя TTM (время вывода фич на рынок) конечно, просело.
На данный момент приложение полностью стабильно. Им можно спокойно пользоваться без опаски, что ваши списки снаряжения вдруг бесследно исчезнут.
Сейчас в системе около 50 зарегистрированных пользователей. Из них 5 человек уже всерьез и полностью собрались в своё путешествие, а сами пользователи добавили в общую библиотеку 12 новых вещей. Трафик хоть и медленно, но растет.
Я искренне рад, что приложение оказалось полезным не только мне, но и другим единомышленникам. Буду очень благодарен за вашу обратную связь!
В июне собрался еще раз на #ШТС и для него уже виртуально собрался https://clck.ru/3TuPNh
В следующей части, если будет интересно, расскажу о внутреннем функционале, о том, какие открытые вопросы до сих пор стоят перед проектом, и поделюсь планами на новые фичи