- PVSM.RU - https://www.pvsm.ru -

Hacker Gifts: мой опыт создания пет-проекта, который приносит доход

Hacker Gifts: мой опыт создания пет-проекта, который приносит доход - 1

Лондон, 21:00, уже темно и идет дождь. Влад с фонариком ищет что-то, но что? Час назад ему позвонила незнакомая девушка с американским акцентом и продиктовала координаты. Прохожие смотрят на него с подозрением, а в его голове крутится только одна мысль − “Как я в это влип?”

А влип он в это из-за меня.

Влад мой очень близкий друг. Но я забыл о его дне рождения и решил уж лучше поздно чем никогда. Вот только подарок должен быть очень необычным.

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

В письме я дал ссылку на файл с приватным ключом для SSH и IP сервера. На сервере его ждала игра в тетрис, победив которую он получил ссылку на инструкцию перевести 1 сатоши на биткойн адрес. После проверки транзакции Влад получил следующий ключ для SSH, но что бы узнать пароль к нему пришлось скачать armv6 бинарник с IPFS и забрутфорсить пин (~4 часов на Raspberry Pi). Дальше − сообщение ждать звонка. Третий ключ я записал на флэшку и спрятал под лавочкой в парке в Лондоне, попросил знакомую позвонить Владу и дать координаты. Пароль к ключу был закодирован как программа на Brainf*ck. Используя третий ключ сервер дает ссылку на сессию VNC в виртуальную машину с Windows 3.1, где Владу нужно найти скрытый файл на диске. В нем − ссылка на страницу с сообщением в духе Happy Birthday!

Все это было усыпано фактами и аллюзиями, которые мог знать только Влад. Его сестра любезно помогла достать нужную информацию 😃

На создание ушло 2 месяца, в основном по 20-30 минут вечером. Прохождение квеста растянулось на 2 недели.

Шутка получилась славная, Владу тоже очень понравилось (и он с пониманием принял опоздавшие поздравления).

А может сделать с этого пет-проджект?

Если понравилось Владу, может понравится и другим?

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

Скриншот страници заказа, https://hacker.gifts
Скриншот страници заказа, https://hacker.gifts

Изначально идея была отправлять открытку, но с физической стороной оказалось много проблем. Печатный станок или USPS царапали открытку с QR кодом, и он не всегда правильно читался. Время доставки иногда затягивалось более чем на неделю. К тому же, мало кто хотел оставлять свой физический адрес, а получатель мог принять открытку за спам.

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

Под капотом

Сначала хотел все написать сам (ведь я же программист-фронтэдщик), но быстро понял, что так дело застрянет еще надолго. Поэтому для сайта магазина взял Shopify [1]. Популярный, есть API, оплата, аналитика, возвраты, отчеты.

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

Заказов в начале было немного, и адреналин от каждых $20 приносил кайф. Но вставать среди ночи быстро надоело. К тому же, хотелось создать приятное впечатление и instant free delivery.

Пришло время Автоматизации. Shopify для каждого заказа умеет дергать web hook, а там я могу генерировать новую открытку и отправлять по почте.

Сначала это был микросервисный зоопарк − скрипт на Ruby, лямбда на Node.js, DynamoDB, файлы на S3, Zapier, Mailchimp. Создавалось все по вечерам по принципу “как бы проще и быстрее”. Но в результате получился монстр, иногда скрипты падали и заказы терялись.

Как начался COVID карантин, переписал все на Ruby on Rails [2]. Теперь мой бэкэнд − это гордый монолит с тестами. После 5 лет JavaScript и Node, рельсы как глоток свежего воздуха. Все работает из коробки и не надо для каждой задачи искать фреймворк недели.

Итого я провел над проектом 80-100 часов.

Первые $20

Как все было готово, закинул $50 на рекламу в Facebook. В результате 200 лайков и ноль заказов. Долго крутил разные параметры, практически без результатов.

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

С тех пор сайт сам растет потихоньку. Кто-то о нем в твиттере напишет, кто-то из LinkedIn узнает. Даже какие-то медиа о нас писали, “20 подарков для программистов на Рождество”.

Одна девушка из США заказала мою открытку подруге в Германии, а та потом купила такую же для друга в Израиле, а тот потом подарил квест для брата в Чехии.

Несколько раз бывало так что менеджер или тимлид заказывал сразу 10-15 штук для всей команды. Одного из таких я нашел на LinkedIn, Head of Security team @ Starbucks.

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

Результаты опроса тех, кто прошел квест
Результаты опроса тех, кто прошел квест

Финансы

В рунете я редко вижу статьи о финансовой стороне пет-проектов. На западе есть Indie Hackers [3], на котором основатели таких проектов открыто делятся доходами, отчетами и провалами.

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

Открытка стоит $19.99, иногда покупают со скидкой. За период с 1 сентября 2020 по 1 сентября 2021 было 276 заказов, всего выручка $5 217.

Shopify
Shopify

Shopify кушает ~4% с каждой транзакции, просит $32 в месяц за сервис и $36 в год за домен.

Бекэнду нужен сервер на Heroku ($7 в месяц), база данных Postgres ($7 в месяц) и один VPS [4] ($10 в месяц) для квеста + домен ($13 в год).

Итого $721 расходов.

Профит $5 217 - 4% - $721 = $4 287 в год ($357 в месяц).

Много ли это?

С одной стороны очень неплохо для пет-проекта. Два года назад проект с трудом вышел в ноль.

С другой стороны, время, которое я на него потратил я бы мог потратить на что-то другое. $357/месяц не так уж много если сравнить с зарплатами программистов.

Сложности

Когда-то я читал книгу о создании маленьких бизнесов Start Small, Stay Small [5]. Там автор говорит, что техническая часть это максимум 10% от всей работы.

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

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

Например, в рекламе для себя я выделил две целевые аудитории:

  1. Гики, которые выкупают фишку такого подарка, и у них есть друзья, которым они такое захотят подарить. У этих ребят и девчонок полная рекламная слепота, Facebook на них не влияет.

  2. Люди, которые в технологиях не разбираются, но у которых сын или девушка − программист. Они смотрят Facebook и кликают на рекламу, но им сложно донести крутость такого подарка.

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

13 сентября − День Программиста

Традиционно 256й день в году, не забудьте поздравить друзей :)

Автор:
w1nter

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/367756

Ссылки в тексте:

[1] Shopify: https://shopify.com/

[2] переписал все на Ruby on Rails: https://frantic.im/back-to-rails/

[3] Indie Hackers: https://www.indiehackers.com/

[4] VPS: https://www.reg.ru/?rlink=reflink-717

[5] Start Small, Stay Small: https://www.amazon.com/Start-Small-Stay-Developers-Launching/dp/0615373968

[6] Источник: https://habr.com/ru/post/577358/?utm_source=habrahabr&utm_medium=rss&utm_campaign=577358