AntonGeorgiev

AntonGeorgiev

На Пикабу
100 рейтинг 1 подписчик 0 подписок 5 постов 0 в горячем
4

Мега Bolt или как неройнка заменяет кучу разрабов

Разработка или Vibe Coding продолжается 3 день. Я все ещё использую Bolt и смог сделать вполне рабочий сервис. Вручную программисту потребовалось бы около 1-2 недель на такой функционал.

  • Авторизация

  • Редактор форм

  • Просмотр ответов форм с фильтрами

  • Выгрузка ответов в csv

  • Шаблоны форм

  • Загрузка файлов в хранилище

  • Публикация формы для клиента

Все уже работает и связано с БД

Остальные скрины и ДЕМО версию опубликовал в телеге

Показать полностью 1

Я попробовал Bolt. Мои первые шаги в Вайб-кодинге

Мы выбрали идею нового продукта - Form builder. Простой и минималистичный конструктор форм на замену Google Forms.

Я попробовал Bolt. Мои первые шаги в Вайб-кодинге

Для разработки я пробую сервис Bolt.new. Я пишу в промтах ТЗ, нейросеть генерит код за меня.

За 5 запросов я получил функционал, который писал бы пару дней. Конечно с кучей багов и недоработок. Они и в ручной разработке тоже бывают.

Сейчас прошу Bolt поправить свои же баги и сделать правильную анимацию при перетаскивании элементов формы.

Посмотрим, что из этого выйдет.

А у вас какой опыт с вайб-кодингом? Писать про наш опыт с нейросетями в разработке?

Показать полностью 1

Запускаю 12 стартапов за 12 месяцев #2: Save Emails from Gmail as PDF

Второй проект, который мы запустили в рамках челленджа — это браузерное расширение для скачивание писем из Gmail в PDF. В этой статье я расскажу про то, как мы нашли идею, разработали продукт и бесплатно привлекли 896 установок за 3 месяца.

Привет! Я Антон Георгиев. Работаю Frontend-разработчиком, а после работы делаю свои пет-проекты. Мы с другом решили запустить 12 стартапов за 12 месяцев. Про это пишем в нашем Телеграм-канале «Инди-хакеры: стартапы из 💩 и 🥢».

Эта история про наш 2-й продукт из 12. Весь путь от идеи до запуска мы прошли за 1 месяц. А первых 100 пользователей мы привлекли уже через 2 недели, не потратив ни копейки на маркетинг. Вот результаты за 90 дней жизни продукта Save Emails from Gmail as PDF:

Выбор идеи

Идея возникла довольно просто. Мы изучали рынок расширений для Google Chrome, перебирали разные направления, пока не наткнулись на нишу плагинов для Gmail. Заинтересовались, начали глубже копать и нашли компанию CloudHQ, которая делает исключительно расширения для работы с сервисами Google.

Мы нашли все их расширения и отсортировали по самым популярным. Среди топ-5 их расширений был продукт «Save Emails as PDF», у которого было 100 000 пользователей. Это функция сохранения писем и вложений из Gmail в формате PDF. Можно выделить сразу несколько писем, нажать кнопку экспорт и все письма вместе с файлами, картинками, видосиками и документами сохраняются на компьютер.

Я сразу вспомнил личный опыт. Однажды мне нужно было выгрузить около 50 писем, чтобы заверить переписку у нотариуса. Делать это вручную, особенно с вложениями, оказалось неудобно и заняло несколько часов.

Мы проверили спрос по ключевым словам в поиске и изучили обсуждения на Reddit. Оказалось, у многих такая же проблема. Пользователи ищут способы массово сохранять письма из Gmail в PDF.

Так родилась идея создать простое расширение, которое одним кликом формирует PDF-документ со всеми выбранными письмами и вложениями.

Разработка

Разработка оказалась непростой. Сначала я изучил множество библиотек для конвертации HTML в PDF и JPEG в PDF на фронтенде, но большинство из них были устаревшими и плохо справлялись с задачей. Я рассматривал вариант делать обработку на backend. Просто отправлять туда HTML или URL и генерировать PDF на сервере. Но быстро понял, что это небезопасно. Важно было избежать пересылки и хранения личных данных.

В итоге я решил реализовать всё полностью на frontend. Чтобы разобраться, как это лучше сделать, я даже скачал исходники расширения одного из конкурентов. Посмотрел, как все устроено у них. Понял, что идея собирать PDF из HTML с помощью JavaScript, вполне рабочая. Это позволило сохранить верстку писем и оставить текст выделяемым.

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

Весь контент в PDF (текст, изображения, линии) позиционируется вручную по координатам x, y. Для этого используется библиотека jsPDF.

Логика работы:

  1. Обработка DOM-дерева.

Я прохожу по каждому узлу DOM, получаю размеры и стили элементов через:

node.getBoundingClientRect() — размеры и положение элемента на экране.

window.getComputedStyle() — CSS-стили (шрифты, цвета, границы).

2. Элементы добавляются в PDF, используя методы jsPDF.

Для текста:

doc.text(value, x, y);

Для изображений:

doc.addImage(imageData, 'PNG', x, y, width, height);

Для линий (границ элементов):

doc.line(x1, y1, x2, y2); значения x, y здесь - это абсолютные координаты относительно текущей страницы PDF.

Я выделил несколько особенностей:

  • Каждая страница PDF имеет фиксированный размер (например, Letter — 612x792 pt).

  • Чтобы текст и изображения не упирались в края, я использую padding. Всё содержимое размещается внутри страницы, ограниченной отступами.

  • Если элемент не помещается в оставшееся пространство текущей страницы, то я вставляю невидимые элементы-заполнители (fake-объекты), чтобы автоматически переместить контент на следующую страницу. Из-за этого на странице бывают пустоты.

Загрузка вложений и изображений

Сначала я простым селектором “.att a” нахожу все ссылки на вложения и изображения из письма, а потом скачиваю их. Данные загружаются в виде Blob, затем преобразуются в DataURL с помощью FileReader. SVG конвертируется в PNG при помощи библиотеки Canvg, чтобы затем вставить в PDF:

const v = await Canvg.fromString(ctx, svgText);

await v.render();

const pngDataUrl = canvas.toDataURL('image/png');

const img = document.createElement('img');

img.dataset.fileName = fileName;

img.src = pngDataUrl;

// Вычисляем коэффициент масштабирования:

// Если изображение больше доступного пространства, то scale < 1, иначе scale === 1 (не увеличиваем)

const scale = Math.min(1, availableWidth / origWidth, availableHeight / origHeight);

const renderWidth = origWidth * scale;

const renderHeight = origHeight * scale;

img.style.width = renderWidth + 'px';

img.style.height = renderHeight + 'px';

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

Заполнение fake-объектами и перенос контента

Если масштабированное изображение не помещается в оставшееся пространство на текущей странице, я вставляю fake-объекты (пустые HTML-элементы), которые сдвигают контент на следующую страницу.

Логика вставки fake-объекта:

function addFakeElement(rect, element, pageHeight, padding) {

const effectivePageHeight = pageHeight - padding;

const finalTop = rect.top % effectivePageHeight;

const availableSpace = pageHeight - padding / 2 - finalTop;

if (rect.height > availableSpace) {

const filler = document.createElement('div');

filler.style.setProperty('display', 'block', 'important');

filler.style.setProperty('padding-top', availableSpace + 'px', 'important');

filler.style.setProperty('width', '100%', 'important');

element.parentNode.insertBefore(filler, element);

}

}

Как это работает

  • Я рассчитываю, сколько свободного места осталось до конца текущей страницы (availableSpace).

  • Если высота текущего элемента (например, изображения) больше, чем свободное место, перед ним вставляется пустой элемент-заполнитель с нужной высотой (padding-top).

  • Этот заполнитель «толкает» следующий элемент вниз, автоматически перемещая его на следующую страницу PDF.

Этот подход обеспечивает предсказуемое расположение изображений и вложений в PDF-документе, несмотря на сложности, связанные с разметкой и размерами исходных данных из Gmail.

Дизайн и лендинг

Дизайн интерфейса, иконки и изображения для Chrome Store мы сделали на основе конкурентов. Главной задачей было сделать яркую иконку и привлекательную картинку для превью, которая выводится в результатах поиска и в блоке рекомендаций.

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

Сделали простой лендинг на Google Sites. Быстро и самое главное бесплатно. Вот что получилось - https://sites.google.com/view/email-to-pdf/. Наша цель — привязать сайт в форме публикации расширения, чтобы получить статус «Verified publisher». Также лендинг позволяет нам поставить ссылку на страницу расширения, чтобы передать немного веса для SEO.

SEO и локализация

Для оптимизации страницы расширения под поисковые запросы нам нужно было найти ключевые слова, которые люди вводят в Google, когда ищут способы сохранения или конвертации писем из Gmail в PDF. Мы проанализировали конкурентов, Google Trends, сервис WordStream и составили список ключевых слов.

Ключевые слова с самым высоким спросом мы использовали в названии расширения, а остальные вписывали в описание. В генерации описания на английском языке нам помогал DeepSeek.

Мы составили промт, с помощью которого получили уникальный текст с вписанными ключевыми словами и с учетом функций расширения. За основу брали тексты конкурентов. Вот такой промт у нас получился:

Представь себя в роли копирайтера, SEO-специалиста и носителя английского языка.

Напиши описание для браузерного расширения, которое сохраняет e-mail письма из Gmail как PDF файлы.

Функции моего расширения:

- Сохранение 1 письма или всей истории переписки

- Сохранение облегченной версии письма без картинок и без вложений

- Сохранение полной версии письма с картинками и с вложениями. Картинки и PDF-файлы из письма выводятся в экспортированном PDF-файле

- Сохранение нескольких выделенных писем. Сохранение до 50 выделенных писем с 1 страницы.

- Выбор формата экспортируемого файлы: A0-A8, Letter, Legal

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

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

Ключевые слова:

[Тут список ключевых слов]

-----

Описание конкурента 1:

[Тут текст 1]

-----

Описание конкурента 2:

[Тут текст 2]

После нескольких итераций правок в DeepSeek мы получили практический готовый текст. Немного подредактировали его вручную и довели вхождения ключевых слов в нужном количестве.

Затем мы перевели описание и интерфейс расширения на 55 языков с помощью API ChatGPT. Так мы получаем более широкий охват потенциальных пользователей за счет языковых версий страницы расширения.

Бесплатный маркетинг

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

Далее мы подали заявку на фичеринг. Про то как получить статус «Featured» я писал в предыдущем посте. Это позволило увеличить показы расширения в Chrome Store.

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

Мы разместили ссылки на UGC-площадках: ProductRadar, ProductHunt, VC, Reddit, Quora, Stackoverflow, Github, Medium, Dev.to, indiehackers.com. Это дало немного новых установок, но в большей степени ссылки увеличивают вес для SEO в Google.

Пример размещения на Reddit:

Пример размещения на Dev.to:

Запуск на ProductHunt

Запуск на ProductRadar

Результаты

Что мы имеем за 3 месяца:

  • 896 установок.

  • 696 активных пользователей в неделю.

  • Получили статус «Featured» в Chrome Store 🏆.

  • Получили обратную связь от пользователей, поправили баги и залили уже 3-ю версию.

Самая большая доля по странам — это пользователи из США, Сербии и Индии. А основные источники трафика — Chrome Store (попадает в Direct и Unassigned) и поиск Google. Это органический трафик, который позволяет протестировать продукт без вложений в маркетинг.

Сколько мы вложили

  • Разработка — $0 и 4 недели своего времени.

  • Маркетинг — $0 и 1 неделя на SEO и контент-маркетинг.

Выводы и планы

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

В планах:

  • Добавить новые функции: загрузка в Google Drive, объединение нескольких писем в 1 PDF.

  • Улучшить конвертацию. Чтобы корректно сохранять сложные письма с нестандартной версткой.

  • Протестировать платную версию.

  • Эксперименты с контентом и новыми каналами трафика.

Заходите к нам в Телеграм-канал «Инди-хакеры: стартапы из 💩 и 🥢» и следите за нашим челленджем «12 проектов за 12 месяцев».

Показать полностью 12

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Первый проект, который мы запустили в рамках челленджа — это браузерное расширение для проверки скорости загрузки сайтов и сравнения показателей Core Web Vitals для ПК и смартфонов. В этой статье я расскажу, как мы выбрали идею, разработали продукт за 2 недели и привлекали 1600+ пользователей без вложений в маркетинг.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Привет! Меня зовут Антон Георгиев. Я работаю Frontend-разработчиком, а в свободное время делаю свои пет-проекты. Мы с другом поставили цель запустить 12 стартапов за 12 месяцев.
Запустили уже 3 продукта из 12. Про свой путь пишем в Телеграм-канале «Инди-хакеры: стартапы из 💩 и 🥢».


Как мы запустили микро-продукт за 2 недели и получили первых 1600+ пользователей

Результаты нашего продукта Core Web Vitals Test на момент публикации:

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Начнем с того, что было сделано. Для начала мы выписали 20 идей, проанализировали конкуренцию, спрос и ключевые слова для SEO.

Как мы выбирали идею

Для того чтобы найти одну идею, мы проанализировали множество чужих продуктов. Наш подход строится на том, чтобы искать уже рабочие проекты и создавать им конкуренцию. Такой подход может называться по-разному: Copycat, Fast Follower, Benchmarking-based ideation. Это когда вы системно изучаете успешные модели, берёте за основу лучшие практики и строите на этом свою стратегию.


Мы запаслись терпением и около 3-х дней фулл-тайм потратили на то, чтобы проанализировать различные источники идей. Составили список идей, которые нам нравятся, близки по духу и мы хотим их делать! Это очень важно, чтобы доводить проекты до рабочего состояния.

У нас уже был опыт разработки сайтов, мобильных приложений, а также опыт продвижения за счет SEO и ASO. Продвижение сайтов и приложений оказалось очень долгим и дорогим занятием. Поэтому мы решили протестировать платформу Chrome Web Store и сделать браузерное расширение. По информации от других разработчиков расширений, трафик там можно получить проще и быстрее.

Chrome Web Store и его спаршенные базы, в которых можно задавать различные фильтры

Первые 20 идей мы выписали, анализируя Chrome Store и сервисы аналитики расширений. На следующих этапах мы отсеивали идеи, которые не подходят по нашему чек-листу.

Сайты-базы расширений:

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

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

Полезные фильтры:

  • Сортировка по недавно созданным расширениям

  • Количество пользователей от 500 или от 1000

  • Количество символов в описании ставим от 500 или от 1000

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

Как мы анализировали ключевые слова, спрос и конкурентов

Тут все просто. Чем выше спрос, тем лучше (но не всегда). На данном этапе наша цель — понять, насколько идея востребована пользователями и какими словами они описывают свои запросы при поиске. Чем выше спрос по ключевым словам, тем больше потенциальный трафик. Однако это не всегда так: высокая конкуренция и низкая релевантность могут снизить эффективность продвижения. Например, если в выдаче Google много информационки (статей), но нет расширений или сервисов, то лучше такой запрос не брать в расчет.

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

Инструменты для ресерча спроса:

Все это мы записали в табличку, чтобы потом сравнить идем между собой. Вот пример оценки 2-х наших продуктов:

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Для первого продукта мы выбрали идею расширения, которое измеряет показатели Core Web Vitals.

Как мы разработали расширение, которое повторяет одну основную функцию конкурента

У конкурентов были такие функции: проверка Core Web Vitals, CrUx, графическое выделение CLS, история отчетов.

Мы выбрали одну основную функцию, которой можно пользоваться каждый день. Такую, которой мы пользуемся сами и пользуются наши знакомые/друзья/коллеги — это проверка показателей Core Web Vitals.

Пример частого использования: после каждого билда сайта, нужно обязательно измерить метрики и проверить не сломали ли сайт. Особенно это важно для SEO, так как Google и Yandex очень падкие на эти метрики.

Так же эта функция была выбрана и по другим причинам:

  • Удаление главного конкурента из магазина. Мы заметил, что срок подходит к концу и его не обновляют.

  • Количество конкурентов - не более 5 крупных расширений.

  • Свободный ключевик для названия расширения.

Разработка проходила около 2-х недель. В целом все было легко, так как я использовал пару маленьких лайфхаков: подсматривать и говнокодить.

Кради как художник

Я использовал инструмент Extension Source Downloader для скачивания исходного кода расширений конкурентов. Затем открывал код в IDEA и разбирался в исходниках, а также устанавливал расширения и дебажил их на горячую.

Если JavaScript-код был обфусцирован, я то я просто юзал деобфускаторы, делая код читаемым и понятным.

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

Это позволило значительно сократить время разработки. Вместо месяцев на создание продукта с нуля и исправление багов, я адаптировал готовое решение под свои задачи.

В результате рабочий продукт был выпущен уже через две недели.

Как мы делали SEO-оптимизацию, генерили текст и переводы на 55 языков

Для начала мы собрали список самых частотных ключевых слов по теме Core Web Vitals, которые пользователи ищут в Google. Для этого мы использовали сервисы:

Из самых популярных запросов мы выбрали название для нашего расширения. Наша цель была занять самое частотное ключевое слово, которое не занято другими крупными расширениями. Так мы выбрали название «Core Web Vitals Test».

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

Дальше мы сделали скрипт для переводов через Deepl. Оказалось, что он переводит только на 32 языка и еще требует оплату. Решили от него отказаться.

Потом мы написали скрипт для Google Translate. К сожалению, он плохо работает с экранированием аббревиатур и ему требуются глоссарии. Было лень разбираться и от него мы тоже отказались.

Для переводов лучше всего нам подошел ChatGPT. Он перевел описание и интерфейс на 55 языков, экранировал аббревиатуры и был очень добр к нам, так как сделал все за копейки.

Как мы сделали иконки, промо-картинки и лендинг

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

У нас вышло 9 статусов, 2 пака убойных лоадеров, 3 иконки, 1 огненный креатив на поиск и множество скриншотов всех сортов и расцветок.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Простейший лендинг мы сделали на Google Sites, чтобы не тратить время и деньги на домены, хостинг или другие конструкторы сайтов. Получился вот такой простой сайтик - https://sites.google.com/view/core-web-vitals-check. Нашей задачей было добавить сайт к расширению, чтобы получить ачивку «Verified publisher».

Как мы получили статус «Featured» и «Verified publisher»

Эти ачивки повышают доверие и дают преимущество в поиске.

Сначала мы добавили лендинг в Google Search Console, а затем выбрали его в поле «Официальный URL» в консоли разработчика Chrome Web Store.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Чтобы получить ачивку «Featured», мы подали заявку через эту форму - https://support.google.com/chrome_webstore/contact/one_stop_support?hl=en

Сначала нужно выбрать пункт “My item (extensions, app, or theme)”.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Потом выбираем пункт “I want to nominate my extension to receive a Featured badge and be eligible for merchandising”.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

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

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Через неделю нам выдали статус «Featured» и галочку «Verified publisher» рядом с адресом сайта.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

А спустя пару дней сильно выросло количество показов в Chrome Store.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Результаты

Основной трафик идет с Chrome Web Store. Также большая доля трафика с поиска Google. Пользователи идут со всего мира. Индусы как всегда топ-1. США на 2-м месте, что очень радует, так как это самая ценная аудитория.

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Это бесплатный органический трафик за счет SEO. Мы не вкладываем деньги на этапе запуска продукта и привлекаем первых пользователей своими силами. Все это позволяет нам тестировать продукт на жизнеспособность без потери денег.

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

Каждый проект мы публикуем на русскоязычных и англоязычных UGC-площадках: VC.ru, ProductHunt, Productradar, indiehackers.com, Reddit, Quora, Stackoverflow, Github, Medium, Dev.to.

Примеры размещений:

ProductHunt

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

ProductRadar

Запускаю 12 стартапов за 12 месяцев #1: Core Web Vitals Test

Нам нравится добывать трафик, поэтому мы всегда публикуем статьи, пишем ответы на релевантные вопросы, оставляем комментарии в тематических ТГ-каналах и статьях.

Еще мы ставим в своих профилях ссылки на проекты, а так же делаем перелинковку всех своих соц. сетей.

Сколько мы вложили

  • Разработка - $0 и 2 недели своего времени.

  • Маркетинг - $0 и несколько часов на SEO и размещения на площадках.

  • Аккаунт разработчика - $5.

Какие планы

Мы планируем создать полноценный SaaS-сервис для регулярного мониторинга метрик скорости загрузки сайтов, сравнения метрик с конкурентами и графиками для отслеживания динамики всех показателей.

Заходите к нам в Телеграм-канал «Инди-хакеры: стартапы из 💩 и 🥢» и следите за нашим челленджем «12 проектов за 12 месяцев».

Если у вас есть вопросы про разработку и продвижение своего продукта без бюджета, то пишите в комментарии.

Показать полностью 13

Как я заработал 1 млн рублей на своем первом ИТ-продукте и похоронил его через 6 месяцев

Моя история создания ИТ-бизнеса от первой прибыли к полному провалу.

Привет! Меня зовут Антон Георгиев, я Frontend-разработчик и соавтор Телеграм-канала про то, как 2 простых IT-шника пилят стартапы из 💩 и 🥢. Хочу поделиться своим опытом создания IT-продукта. Это мой первый успех в бизнесе и первый провал.

В 2018 году мы с партнером делали программу для работы с мобильными прокси с нуля. На рынке было решение с использованием роутеров TP-link с поддержкой USB. Это дорогое для масштабирования решение. Мы решили его переизобрести на USB-хабах без роутера под каждый модем.

О продукте

Наш софт позволял пользователям самостоятельно разворачивать мобильные прокси, используя доступные устройства (RaspberryPI, 4G модемы, USB-хабы и SIM-карты).

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

Преимущества нашего решения

  • Не нужно платить за сторонние прокси, можно использовать свои и значительно снизить затраты.

  • Самостоятельное управление прокси-сервером гарантирует безопасность и гибкость.

  • Смена геолокацию, ротация IP-адресов и другие параметры.

  • Разрешенные домены, пропускная способность, авторизация по ip и паролю.

  • Защита от DNS Leak, Смена OS Fingerprint (Linux/Windows/Android).

  • Просмотр балансов, просмотр номеров телефонов, уведомление о том, что нужно пополнить баланс.

Как мы разрабатывали продукт

1. Начали перебирать доступные на рынке модемы

Искали вариант с максимально разлоченной админкой, чтобы были такие функции:

  • USSD для проверок баланса и номера телефона, это помогает когда у тебя целая ферма

  • фиксация TTL

  • изменение DNS

  • Смена IMEI

  • Watchdog - автоматическая перезагрузка модема при потере соединения или зависании

В итоге мы нашли модем, который подходит по всем функциям - Huawei E3372h-153.

2. Мы принялись за поиск USB хаба и сожгли одну мать!

Мы подумали, что Raspberry PI 3 спокойно потянет 20 модемов. Но когда начали тестировать одновременное количество модемов в “рабочем” режиме при полной нагрузке, оказалось что стабильно могут работать только 5-6шт! Остальные тупо выбивает (интересная статья на эту тему https://www.yoctopuce.com/EN/article/how-many-usb-devices-can-you-connect).

Далее мы собрали дешевенький комп и затестили на нем. Но когда вставили в него 30 модемов, то сгорела мать и комп больше не включался. На обычных хабах и на ноуте болше 20 модемов работало не стабильно.

В итоге решили делать две стабильные сборки:

1) Raspberry PI + 5 модемов

2) Ноутбук + промышленные хабы на 30-60 портов (например Orico и др)

3. Сделали админку и ТГ-бот

Админ-панель, бекенд и фронтенд я написал на JavaScript/Typescript.

Бот для ТГ на NodeJS/Typescript.

4. Сделали функцию смены OS Fingerprint’a - подмена отпечатка операционной системы

Еще немного полезных ссылок (не реклама):

Чекеры:

Подмена fingerprint:

Сигнатуры:

Где мы нашли первых клиентов

Трафик мы привлекли с форума арбитражников, где выложили бесплатную триальную версию продукта. Пост с форума попал в топ Гугла по запросам "мобильные прокси".

Так же мы написали небольшой пост в Телеграм-канал арбитражников.

Первые деньги

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

Еще за несколько дней пришло около 15 человек и…. я решил поднять прайс.

Поднимал прайс постепенно, т.к. в целом не понимал сколько это стоит.

  • 1 раз поднял до 5 000 руб

  • 2 раз до 10 000 руб

  • 3 раз до 20 000 руб

  • 4 раз до 35 000 руб

Даже при поднятии цены до 35 000 руб., у меня было около 6-7 продаж в месяц. Меня это устраивало, и я даже вошел в зону комфорта (это и был первый звоночек провала).

В чем успех

  • Высокий спрос — мой софт оказался востребованным среди специалистов по арбитражу и SMM.

  • Разработка и запуск продукта заняли 1 месяц.

  • Продукт стал приносить в среднем 150 000 рублей в месяц. Около 1 000 000 руб. я заработал за 6 месяцев жизни продукта.

Тут я подумал, что нашел кнопку "Бабло". Но..

Первый провал

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

  • Отвлекался на клиентов — помогал каждому индивидуально, вместо того чтобы делать типовой продукт.

  • Тратил время на частные настройки — адаптировал продукт под разное оборудование, теряя время и ресурсы.

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

В итоге форум, на котором была опубликована страница с инфой о продукте, просто удалили. Случайно дропнули базу данных и я сразу вылетел из топа Гугла. А так как я НЕ занимался другими источниками трафика, клиенты перестали идти ко мне. Топ заняли конкуренты, которые уделяли время дополнительному трафику.

Выводы и уроки

Чему меня научил этот провал:

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

  • Масштабируемость — нужно строить решения, которые работают для всех, а не только для отдельных клиентов.

  • Маркетинг — нужно постоянно тестировать новые каналы трафика, чтобы привлекать клиентов.

Теперь я подхожу к новым проектам иначе.

Надеюсь, моя история будет полезна тем, кто начинает делать свой IT-продукт! 🚀

Подписывайтесь на наш Телеграм-канал "Инди-хакеры: стартапы из 💩 и 🥢". Канал про то, как два простых IT-шника пилят свои проекты по вечерам без инвестиций и смузи.

Показать полностью 5
Отличная работа, все прочитано!

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества