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

Эта статья может быть полезна тем, кто собирается запускать собственную компанию (в Германии и не только): здесь есть общее представление о процессе. Этого представления мне не хватало на начальной стадии. Однако не полагайтесь лишь на мой опыт: я мог упустить важные детали, где‑то ошибиться, а некоторые правила и процедуры уже могли измениться. Перед любыми действиями советую получить квалифицированную консультацию.

Первоначальная мотивация

Сначала стоит упомянуть, что я переехал в Германию в 2015 году после первого бакалавриата в России. Четыре года я проработал в аэропорту, а потом решил пойти в институт на информатику. В декабре 2023 я получил второй диплом бакалавра и к тому времени уже год работал Java‑разработчиком. Работа состояла в основном из однообразных задач — рефакторинг легаси‑кода и релизы. Поэтому, в январе 2024 я решил, что лучше момента не найти, чтобы попробовать воплотить свою давнюю идею в жизнь. В итоге я уволился со своей фирмы.

Описание идеи

Идея сервиса — создать веб‑платформу, где родители и дети могут временно обмениваться своими игрушками. Зарегистрированные пользователи видят игрушки, опубликованные людьми живущими рядом с ними. Незарегистрированные гости видят выборку последних добавленных игрушек.

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

  1. Регистрация.

  2. Пользователь просматривает доступные наборы для обмена и выбирает один.

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

  4. После подачи заявки пользователь ждёт ответа.

    • Если партнёр принимает обмен, стороны договариваются в чате о встрече и сроках.

    • Если партнёру не понравилась ни одна игрушка инициатора, обмен отменяется.

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

Идея такого сервиса пришла ко мне на третьем семестре: тогда я заметил, что моя дочь играет с чужими игрушками с большим интересом, чем со своими. Я подумал - возможно, такой сервис будет интересен людям. Родители смогут экономить деньги и иметь больше свободного времени, ну а дети меньше времени проводить в смартфоне.

Краткое техническое описание (используемые технологии)

  • Backend: Spring‑приложение c встроенным Tomcat

  • Frontend: React приложение с функцией сжатия загруженных изображений в браузере через compressorjs перед отправкой

  • RDBMS для пользовательских данных

  • Графовая БД приложение должно показывать игрушки только пользователей в относительной досягаемости (например максимум 50 КМ с возможностью фильтра вниз). Поэтому создается граф пользователей, а ребра этого графа - это расстояния до соседей.

  • Image Converter: На рынке есть большой выбор сервисов, которые сжимают изображения, однако почему-то их стоимость мне показалась слишком высокой. Поэтому я написал собственный сервис, который делает второй этап оптимизации на сервере. NodeJS‑сервер, конвертирующий изображения в AVIF. Мне удалось добиться оптимизации примерно (5 МБ на устройстве пользователя → 100 КБ в GCP Bucket) с приемлемой потерей в качестве.

  • Хранение изображений — GCP Storage Bucket

Этап подготовки (изучение недостающих технологий)

Подготовку я начал ещё в университете. В последние два года учёбы я выбирал предметы и проекты, связанные с будущей реализацией. На четвертом семестре я начал изучение Spring по книге "Spring Start Here", 2021, Laurentiu Spilca, позже сделал пару студенческих проектов на Spring. Чтобы быть готовым к возможному масштабированию прочитал "Designing Data‑Intensive Applications", 2017, Martin Kleppmann, полученные знания практиковал на дипломной работе, в ней я создал распределенное приложение с партиционированием и репликацией базы данных и координацией через Zookeeper. Создал механизм горизонтального динамического расширения и тестировал его с помощью JMeter.

После увольнения у меня ещё оставались пробелы. Первые три месяца я читал:

  • "Responsive Web Design with HTML5 and CSS", 2022, Ben Frain

  • "React Quickly", 2023, Morten Barklund, Azat Mardan

  • "React Cookbook", 2021, David & Dawn Griffiths

Также очень важным был вопрос безопасности. Курса по IT‑безопасности в университете оказалось мало. Я купил "Web Application Security: Exploitation and Countermeasures for Modern Web Applications 2024 Andrew Hoffman". Мир веб‑безопасности развивается стремительно стараясь успеть за большим количеством новых технологий в Web, W3C ежегодно выпускает новые механизмы для защиты веб-приложений. Интересно было узнать, что на фронтенде защита веб приложений достигается путем блокирования или разрешения определенных действий для браузера. Путем конфигурации HTTP‑заголовков (CSP, CORS, CORP, COOP и т.д.) можно добиться определенного уровня защиты.

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

Финансы проекта

Когда я планировал проект мне казалось, что на подготовку и разработку уйдёт 2–3 месяца. На тот момент у меня были доступные деньги на кредитке около 13 000 €, и я думал, что этого хватит и на жизнь, и на регистрацию фирмы. Через пару недель после того как я уволился мне стало ясно — план нереалистичен, и я начал искать финансирование.

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

Первое, на что я наткнулся была программа “EXIST” (Business Start-up Grant) . Программа предоставляется Федеральным министерством экономики и защиты климата. Они предлагают поддержку в создании бизнеса выпускникам и студентам ВУЗов. Поддержка включает в себя консультационные услуги, до 3000€ месяц на проживание в течении 12 месяцев и 10 000€ на члена команды но максимум 30 000€ на расходы бизнеса. Получатель поддержки обязан пройти курс обучения и составить бизнес план в течении этого года. Я отправил им электронное письмо с описанием своей идеи. Через две недели мне пришло приглашение на онлайн-собеседование, которое должно было состояться ещё через две недели. На собеседовании я узнал, что есть два дополнительных критерия: бизнес должен соответствовать глобальным целям устойчивого развития, установленным правительством Германии, и быть инновационным. Мне сказали, что мой проект однозначно удовлетворяет первому требованию, но его инновационность остаётся под вопросом.

Кроме того, документы заявки необходимо тщательно подготовить: подробное описание идеи, исследование рынка, детальный план будущих расходов и т. д. Рассмотрение заявки обычно занимает три месяца с момента подачи. Так как у меня нет команды и всё приходится делать самому, на подготовку заявки я мог бы потратить около двух месяцев, приостановив всю техническую работу на это время. Затем пришлось бы ждать ещё примерно три месяца, так что всё вместе растянулось бы на 6–7 месяцев без какой-либо гарантии успеха. В итоге я решил не тратить на это время.

Я проверил несколько других программ — все они требовали бизнес-план, а сам процесс подачи заявки был также довольно сложным. Я прекратил поиски финансирования на покрытие своих расходов на жизнь. В марте 2024 года я начал работать фрилансером в сфере IT-администрирования и техподдержки (поиск работы разработчиком занял бы слишком много времени из-за множества собеседований). На этой работе у меня регулярно возникали паузы между задачами, и я мог эффективно продвигаться в работе над проектом.

В августе я уже находился на завершающем этапе реализации приложения, и пришло время заняться регистрацией компании. Я наткнулся на программу под названием «Hessen-Mikrodarlehen» (Микрокредит) от местного банка WIBank. Насколько я понял, как сам банк, так и программа финансируются федеральной землёй Гессен. Цель программы — предоставление быстрой и небюрократической финансовой поддержки (до 35 000 €) для новых компаний. Я сразу же отправил электронное письмо и уже на следующий день получил ответ с приглашением на собеседование на следующей неделе.

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

  • Срок — 7 лет, ставка 5,75 %.

  • Без залога, но нотариальное признание долга (если фирма банкротится, плачу как физлицо).

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

  • Деньги расходуются в течение года на нужды фирмы.

На оформление ушло ~2 месяца, в ноябре я получил 30 000 €.

Возможные способы монетизации

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

Я погуглил и узнал, что средняя цена за 1000 показов баннеров составляет примерно 20 €. Также я прикинул доход при 10 000 пользователях, из которых 5 000 активны и заходят на платформу ежедневно, в среднем по 10 посещений на пользователя в день. На каждой странице я мог бы размещать максимум три баннера, не ухудшая пользовательское восприятие. Итак:
5 000 пользователей × 10 посещений × 3 баннера × 30 дней = 4 500 000 показов баннеров в месяц.
4 500 000 показов × 20 € / 1 000 = 90 000 € потенциального дохода.

Хотя у меня нет опыта в этой области и, возможно, я ошибся в расчётах, но даже 10 % от этой суммы при ежемесячных расходах в 1 500 € уже оправдывали бы проект. Я опустил расчёты затрат, чтобы не перегружать статью.

Регистрация компании

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

Этот бизнес был для меня новым, поэтому было сложно предусмотреть все риски и последствия. Именно поэтому для меня было важно зарегистрировать компанию, а не действовать как физическое лицо — чтобы ограничить ответственность. Наиболее подходящей для меня формой была GmbH — общество с ограниченной ответственностью. Однако для регистрации такой компании требуется минимальный уставной капитал в 25 000 €, поэтому я выбрал эквивалент GmbH, который называется UG (Unternehmergesellschaft).

Основное отличие UG в том, что для её регистрации требуется минимальный уставной капитал всего 1 € (хотя как физическое лицо я всё равно несу ответственность до 25 000 €), что влечёт за собой некоторые ограничения — но на том этапе они для меня не имели особого значения.

Если кому-то интересно я перечислю шаги, которые я совершил для регистрации:

  • Прежде всего, для регистрации компании требуется постоянный адрес. Не обязательно арендовать офис — адрес нужен, чтобы обеспечить возможность почтовой корреспонденции. Существуют фирмы, предлагающие такие адреса за определённую плату (я плачу около 140 €/месяц). В этом случае вы получаете почтовый ящик с названием вашей фирмы по указанному адресу.

  • Регистрация компании начинается с обращения к нотариусу. Некоторые предлагали запись только через месяц, но мне удалось найти нотариуса, у которого было окно на следующей неделе.

  • Нотариус составляет учредительные документы компании и объявляет её находящейся «в процессе регистрации».

  • С этими документами я пошёл в банк, чтобы открыть бизнес-счёт и внести заявленный уставной капитал. Однако мой счёт был заблокирован до предоставления следующих документов: выписка из торгового реестра (Handelsregister), выписка из регистра прозрачности (Transparenzregister) и регистрация предпринимательской деятельности (Gewerbeanmeldung).

  • С выпиской из банка я снова пришёл к нотариусу. После этого нотариус подаёт заявление на внесение компании в немецкий торговый реестр (Handelsregister). В течение двух недель приходит счёт на 200 € за внесение в реестр. Важно быть внимательным: вместе с официальным письмом я получил три похожих письма от мошенников, которые подделывают стиль официальной корреспонденции, чтобы выманить деньги у компаний.

  • После оплаты официального счёта в течение двух недель приходит подтверждение, и можно получить выписку из реестра. Эту выписку нужно предоставить в банк и в местное ведомство общественного порядка (Ordnungsamt), которое регистрирует компанию в течение 2–3 недель за 36 €.

  • Регистр прозрачности (Transparenzregister) — относительно новый. Хотя процесс регистрации непростой, его можно полностью пройти онлайн.

  • Следующий важный шаг это выбрать налогового консультанта (Steuerberater). Он берёт на себя всю переписку с налоговой (Finanzamt) и составляет для неё отчёты.

  • Наконец, я обратился к юристу, специализирующемуся на интернет-праве. В ЕС эта сфера строго регулируется. Для такой платформы, как моя, требуются: Impressum (выходные данные), условия использования (AGB) и политика конфиденциальности. Поскольку штрафы за нарушения могут составлять несколько тысяч евро, я решил не писать документы самостоятельно. Юрист подготовил юридическую документацию и проконсультировал меня за 2 500 €.

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

Развёртывание

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

Когда основная часть кода была уже написана, я решил поэкспериментировать с развёртыванием и начал с бэкенда. Для этого я оплатил VPS (облачный сервер с выделенным виртуальным CPU) от Hetzner. В один из дней у меня была назначена встреча, на которой я хотел показать что-то уже работающее, поэтому накануне я в спешке начал разворачивать сервер и СУБД на этом VPS. У меня не хватило времени, чтобы детально изучить соответствующие разделы документатции по PostgreSQL и правильно её настроить, поэтому я попытался сделать всё как получится. Я задал пароль для администратора БД и открыл порт, чтобы управлять базой данных с ноутбука. При этом я подумал, что никому ещё нет дела до моего VPS и базы данных.

На следующее утро я обнаружил, что все таблицы в базе данных удалены, но решил, что это как-то сделала сама СУБД. Через несколько дней ситуация повторилась, и я начал разбираться. В логах PostgreSQL я нашёл команды, которые удаляли таблицы и выполняли другие действия, с которыми я был незнаком. Стало ясно, что кто-то получил доступ к моей БД. Я сразу же удалил PostgreSQL и закрыл порт в файрволе. Хотя я и установил сложный пароль, я не активировал проверку пароля в конфигурации PostgreSQL — это означало, что СУБД принимала любое введённое значение и всё равно давала доступ. Оставался открытым вопрос: ограничился ли взлом только СУБД или был скомпрометирован весь VPS.

Я начал регулярно проверять открытые TCP-соединения на сервере, и через два дня обнаружил два активных подключения: своё и ещё одно — с IP-адреса из Камеруна. Полагаю, есть люди, которые сканируют определённые диапазоны IP-адресов, например Hetzner или других хостингов, чтобы найти уязвимые серверы и получить к ним доступ. К счастью, это была всего лишь тестовая стадия, и я ничего не потерял. Я полностью сбросил VPS, заново его настроил, запретил удалённые подключения к СУБД, закрыл все порты, кроме отдельного SSH-порта, доступного только с моего IP.

Выводы

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

P.S.: Статья была написана в феврале 2025. Если статья получит интерес, я напишу почему дело не так пошло как я ожидал и свою рефлексию насчет этого.

Комментарии (8)


  1. Sap_ru
    08.07.2025 08:05

    На самом деле интересно и полезно, но.

    50% активных пользователей, которые выполняют 10 заходов в день? Тут уже что-то не так, мягко говоря. И вообще бизнес план и план развития как-то не проработаны, что с большой вероятность выйдет боком в какой-то момент.

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

    P.S. спасибо за статью.


    1. Hfrujfruevas Автор
      08.07.2025 08:05

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


      1. Sap_ru
        08.07.2025 08:05

        Просто вы же на банк пытались обмануть (грубо говоря, конечно же), а себя.
        На счёт "делать или нет", постановка вопроса не правильная. Совершенно абсолютно всегда нужно считать деньги. Возможно, что в этом случае вы ба начали другой бизнес, или этот повели по-другому. И в результате сэкономили бы кучу денег и времени. А так основной урок не извлечён :) - вы прежде всего хотели, чтобы было интересно, и так оно и получилось.


        1. Hfrujfruevas Автор
          08.07.2025 08:05

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


          1. Sap_ru
            08.07.2025 08:05

            На самом деле это прямо больная тема. Всё время всякие знакомые предлагают застартапиться. Но когда начинаешь с ними говорить, то ни бизнес-плана, ни стратегии развития - драйв ради драйва. И они не понимают, когда им указываешь на ошибки. Но будет же интересно! Ага, очень. -50к евро на брата в трубу, например. Зато "жизненный опыт". Этот опыт не стоит этих денег - за эти деньги всё можно было сделать иначе. Но самое интересно, когда одни и те же люди пятый (!!!) бизнес открывают с таким настроем. Первые четыре само-собой разорились в страшный минус. Зато "интересно" и "опыт".
            Жопа в том, что в ситуации, подобной вашей, люди получают опыт работы с юр.лицом и банками, но совершенно не получают опыта как начать правильно начать бизнес. А потом с этим опытом работы с юрлицами и банками они очень быстро и круто открывают новый стартап и снова садятся в лужу.
            Это я не про вас конкретно, это я про больное :)


  1. Sap_ru
    08.07.2025 08:05

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

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


    1. foxsoft2005
      08.07.2025 08:05

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


      1. Sap_ru
        08.07.2025 08:05

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