Главное Авторские колонки Пресс-релизы Промо Вакансии Вопросы
92 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как без бюджета и с устаревшими знаниями я свой pet-проект разрабатывал

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

Например, Excel, заметки в телефоне, переписки, старые форумы и группы в социальных сетях. Когда была линька? Когда животное отказалось от еды? От кого получено потомство? Где я видел интересного самца для будущей пары? Информация есть. Единого места для неё нет.

Ещё 16 лет назад я писал на Хабре статью «Нетрадиционные животные в доме» и уже тогда видел, насколько большое и при этом разрозненное сообщество существует вокруг этого увлечения. В какой-то момент стало проще написать свой сервис. Всё началась с закрытой системы на моём сайте, а после очередного Рептилиума (выставка-продажа), мне предложили открыть решение для всех.


Когда ты немного разработчик, немного маркетолог и немного всё остальное

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

Я PHP-разработчик старой школы. Могу спроектировать базу, написать backend, разобраться с сервером и понять, почему запрос работает не так, как ожидалось. Но современная веб-разработка за последние годы явно не стояла на месте. Кроме того, создать продукт в одиночку — это не только написать код.

Нужно быть аналитиком, архитектором, frontend-разработчиком, backend-разработчиком, тестировщиком, специалистом по безопасности, дизайнером интерфейсов, контент-менеджером и маркетологом. А ещё заказчиком самому себе.

Последнее, пожалуй, самое неприятное. Заказчик постоянно меняет требования, разработчик недоволен, сроки сдвигаются, а уволить никого нельзя. Поэтому в качестве помощников я начал использовать разные ИИ-модели: Qwen, ChatGPT, DeepSeek и GLM.

ИИ — хороший помощник. Но плохой разработчик без присмотра

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

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

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

  1. функция написана,
  2. класс создан,
  3. метод существует,
  4. выглядит красиво,
  5. только никто это всё никогда не вызывает.

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

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

На чём построен проект

«ЭкзоПуть» написан на PHP без фреймворка. Есть собственный роутер, Twig для шаблонов, PHPMailer (взял с GitHub проверенный) для писем и PDO поверх MariaDB. Проект работает на обычном shared-хостинге. На момент написания статьи под капотом уже больше 45 таблиц.

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

Отдельно пришлось заниматься вещами, о которых в начале разработки я вообще не думал:

  1. Rate limiter
  2. CSRF-защита
  3. Honeypot-поля против ботов
  4. Обработка и конвертация фотографий в WebP
  5. Модерация. Система редиректов
  6. Два уровня кэша и его инвалидация

Даже появился отдельный справочник животных, запрещённых к содержанию, с проверкой при добавлении питомца. Ну и нужно юридические нюансы учитывать, которых на таком проекте возникло не мало. Это и соответствие 152-ФЗ, и отдельным положениям по содержанию разных животных в РФ. Как обычно бывает с pet-проектами, всё начиналось с мысли: «Тут работы на пару недель».

А где монетизация?

Сейчас её нет.

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

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

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

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

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

Проект создаётся по любви к террариумистике. Таким я и хочу его видеть.

Что получилось в итоге

Сейчас «ЭкзоПуть» — работающий проект, созданный одним человеком без бюджета и команды. Конечно, в нём есть баги. Часть архитектурных решений однажды придётся пересмотреть. Файловый кэш попросится в Redis, обработка фотографий — в очередь, а поиск через LIKE перестанет справляться с ростом данных.

Но я стараюсь не строить инфраструктуру для миллиона пользователей до появления первого миллиона пользователей.

Для себя я сделал ещё один вывод: ИИ действительно позволяет одному человеку делать проекты, для которых раньше потребовалась бы небольшая команда. Но он пока не заменяет понимание продукта. Если вы сами не знаете, что строите, нейросеть с огромной скоростью поможет вам построить что-нибудь другое.

Проект — exoway.ru.

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

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем