Как я маркетплейс в Армении делал

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

Февральского Дилиджана тебе в ленту, дорогой читатель!
Февральского Дилиджана тебе в ленту, дорогой читатель!

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

Живя в Армении в 2022-м году, я понял, что логистика и доставка товаров потребителю тут хромает, по сравнению с российскими довоенными реалиями. Wildberries, как бы, уже пришёл, но доставка любой мелочи - это 2 недели ожидания минимум. Увы, небольшой рынок не способствует технологическим инновациям в торговле.

Тогда, я прикинул, что проще всего доставлять мне будет на первых порах по трассе М4. И лучше, конечно, опробовать сервис на маленьких городах, а не рваться сразу в Ереван. Данные по населению в ближайших городах вдоль трассы М4 в интернете были не актуальные. Опросив местных (нет, не пересчитывал их))), я понял примерный расклад:

Дилиджан - 10 000 человек.

Иджеван - 10 000 человек.

Ноемберян - 5 000 человек.

Севан - 10 000 человек.

Абовян - 30 000 человек.

65 000 человек. Т.е. экономически активного населения примерно 20 000. Все расчёты тут не привожу, но они основываются на этом числе, при охвате 10%. Каналы распространения самые дешёвые: Facebook и объявления на остановках, столбах и заборах.

Вся оффлайн активность потенциально ложилась на плечи команды Алика: аренда помещений, найм сотрудников и контроль логистики. Делать своим вкладом всего лишь настройку Shopify было как-то ну... неудобно что ли. Тогда я решил накидать свой маркетплейс настолько быстро, насколько это было возможно. Хотя понимал, что идея, конечно, мягко говоря, амбициозная.

Технические детали.

Стеком выбрал Node.js, фреймворк NestJS, база данных - MongoDB. NestJS для разных микросервисов NestJS работал как поверх Fastify, так и поверх Express. Для последнего работа с изображениями удобнее реализована. Mongoose - как драйвер для MongoDB. Не то чтоб он был особенно хорош, просто у меня уже был опыт с ним на продакшене. Хотелось переиспользовать навыки максимально. Файловое хранилище для изображений - AWS S3 Bucket. Про фронтенд я даже не думал тогда. У меня был опыт со всей большой тройкой - React, Angular, Vue, так что фронт проблемой вообще не выглядел.

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

Ереванский офис компании, в которой я проработал 2 года.
Ереванский офис компании, в которой я проработал 2 года.

Пару месяцев совмещал с основной работой. Писал по вечерам и выходным. В оставшиеся месяцы маркетплейс стал моим основным занятием.

Что может уместить сеньор JS-программер в 17К строк кода? Как уже упомянул выше, авторизация, RBAC (доступ по ролям). Загружались данные о товарах, картинки, в частности. Товары связаны с магазинами, магазины с юрлицами. Связка каждого товара с ресурсами из AWS. Были сделаны всевозможные проверки данных, приходящих от покупателей и продавцов. Ибо хакеры бдят.

Код этот активно реиспользую в текущем проекте. Так что, не всё было написано в стол.

В середине работы, осенью 2022-го, вышел на людей, которые делали такой же маркетплейс для Армении, на том же стеке. С таким же числом микросервисов. Забавное совпадение. Даже встретился с ними в Ереване. Весьма приятные люди. На момент написания этого материала они релизнули страницу-заглушку.

У них было (и думаю, до сих пор есть) финансирование и команда разработки. У меня было дикое желание покинуть найм и понимание, что скоро мой проект в компании, где я работал будет закрыт, а значит я останусь без работы на съёмной квартире в другой стране с женой и детьми, с крайне скудной подушкой безопасности и с ипотекой в России. Так и случилось в итоге.

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

Поколебала меня другая встреча. С потенциальным инвестором. У человека есть несколько запущенных и успешно работающих в России магазинов по торговле игровой экипировкой и скинами. На встрече со мной он сказал примерно следующее: «Я получаю доход чисто в онлайне. Масшатбируюсь только реинвестированием. Инвестированные деньги окупаются и приносят отдачу через 2 месяца. А у тебя очень большие вложения в оффлайн инфраструктуру и основные риски связаны с оффлайном. Так что, извини.»

Опыт. Да, я снова приобрёл опыт. Я хоть одну статью могу написать не разместив фото Гарольда?
Опыт. Да, я снова приобрёл опыт. Я хоть одну статью могу написать не разместив фото Гарольда?

Да, человек, который ни капельки не умеет программировать, но использующий коммуникативные навыки на 100% сделал бизнес чисто в онлайне. Чужими руками. А я полез в оффлайн. При том, что в интернете я уже 16 лет на тот момент работал.

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

В целом, на проект я потратил времени с августа 2022-го по, где-то февраль 2023-го. Уволился я 30-го сентября. Мой контракт с компанией, на которую я тогда работал, предусматривал, что если они не перепродадут мои услуги кому-то, то я буду получать, очень небольшие деньги. Поэтому, чтобы развязать себе руки, я ушёл.

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

22
3 комментария

Отличная статья!

1

Спасибо, рад, что вам понравилось )

А как то можно с вами связаться, поспрашивать пару вопросов)