1

Записки вайбкодера

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

Однажды во время планирования наш техлид предложил попробовать новый сервис для оценки задач. Всё было довольно просто: участники заходили в комнату, выбирали карту с оценкой, а после голосования результаты открывались одновременно для всех. Такой формат обычно называют Planning Poker.

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

Тогда я подумал: почему бы не сделать своё приложение для голосования с блек-джеком и... без перезагрузок?

На тот момент у меня уже был недорогой PHP-хостинг, где лежало моё старое, никому не нужное, портфолио. Его было не жалко удалить для нового проекта, но я его не удалил. Просто создал отдельную папку для нового проекта.

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

Сначала я попробовал бесплатный Qwen. Подробно описал, что хочу получить, выбрал стек PHP, MySQL и React (напиши в комментариях что лучше: React или Vue) и отправил задачу в работу. Qwen долго пыхтел, написал огромную документацию как бы он это сделал, пару раз отвалилися, но через некоторое время написал, что всё готово и работает.

Но оно не работало.

Записки вайбкодера

Я сказал ему, что оно не работает. Он сказал что знает в чем проблема и исправит это. Через некоторое время он написал, что исправил и теперь точно работает.

Но оно не работало.

Я попытался разобраться в сгенерированном коде сам, но свободного времени было немного, а знаний в бекенде не было совсем.

Я сказал Qwen'у, что вернусь позже и мы обязательно разберёмся.

Я не вернулся.

Через несколько недель на очередном созвоне техлид снова поднял тему планирования задач и предложил кому-нибудь "навайбкодить" (написать с помощью ИИ) свое решение для команды. Тут я вспомнил про свой "полностью рабочий" проект и сказал, что уже есть какие-то наработки.

На этот раз я решил использовать Codex от OpenAI (не реклама). Я уже использовал его для рабочих задач, поэтому решил попробовать и здесь. Он помог найти, почему приложение не запускается, где сломались маршруты и почему часть запросов не отвечает. Через несколько часов удалось получить первую рабочую версию.

Приложение открывалось, создавало комнаты и даже показывало какую-то статистику. Но оно работало локально.

Следующей задачей было выложить всё это на хостинг.

ИИ написал скрипт сборки. Скрипт что-то делал, на экране быстро бежали строки, ошибок не было. Этого было достаточно, чтобы я поверил в успех.

Как вы уже поняли, ничего не заработало.

А кто будет настраивать базу данных, переменные окружения, авторизацию? ИИ сказал, что он это делать не будет. Но он не знал с кем связался. "Написать код приложения - это только половина работы" хотел сказать я ему, но токены уже кончались. Моё старое портфолио вообще работало без собственного бэкенда через Firebase, поэтому самостоятельно настроить всё это я тогда не мог.

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

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

Следующие пару недель ушли на доработки. Я (на самом деле Codex) улучшал интерфейс, исправлял ошибки, добавил несколько фич: добавление задач и голосование по ним, статистику, историю голосований и постепенно приводил проект в порядок. Часть дизайна придумал ИИ, остальное продумывал я. Некоторые решения брал у других похожих проектов.

Результат окончательного варианта на PHP можно увидеть на скриншоте ниже.

Всё работало неплохо, но меня не устраивало что мой хостинг не поддерживал веб-сокеты.

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

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

Тогда я ещё не знал, что написать приложение окажется самой простой частью этой истории.

Пост получился длинный, поэтому разделю на несколько частей.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества