Как всё начиналось
Недавно я заметил такую штуку: знакомые фрилансеры и маленькие студии разработки частенько теряют заказы, да и организовано у них всё так себе. Сообщения находятся то в одном сайте, то в другом, программисты в Discord сервере, заказчики и прогрев в Telegram, но при этом ещё надо в какую-то CRM заходить и там ещё что-то тыкать щёлкать. В общем - мест много, запутанно всё и не удобно.
Подумал: "А что если сделать CRM, которая работает ИЗ телеграма?" Клиент отправляет заказ боту, менеджеры видят в веб-интерфейсе, программисты предлагают цены, все получают уведомления. Всего два места, но при этом заказчику вообще не надо об этом думать, он в телеграмме, там где уже зарегистрирован. Красиво же?
И я начал.
Что получилось в итоге
Спустя какое-то время величие было готово:
Telegram-бот на aiogram 3x — клиенты создают заказы через диалог, получают уведомления на каждом этапе
Веб-админка на SvelteKit — Kanban-доска с drag-and-drop, управление командой, чат с клиентами
tRPC + Drizzle ORM — type-safety от базы до фронта, никаких
anyСистема ролей — 10 granular permissions (модерация, назначение, чат, отправка платёжек)
Конкурентная система откликов — программисты предлагают цены, менеджер выбирает лучшую
SSE для реалтайм-чата — сообщения из CRM летят в Telegram клиенту мгновенно
Dragonfly кещ — Быстрый, drop-in compatible
Docker Compose —
docker-compose up -dи всё работает
Сам если честно был в шоке. Стек неплохой, код чистый, архитектура — песня.
Конечно получилось не с первого раза, перед этим я страдал с фронтендом. Пробовал React 19, и наборы компонентов, но всё же остановился на SvelteKit и shadcn
Начались попытки продать
Попытка 1: Локальный рынок (студии разработки)
Написал в 5 студий. Ответили 3. Из них:
Одна: «У нас Битрикс24, всё настроено, переезжать дорого»
Вторая: «Мы сами программисты, напишем за выходные» (спойлер: не написали, но и не купили)
Третья: «А что если вы сделаете интеграцию с нашей 1С?» (я отказался, это было лишним)
Попытка 2: Freelance арбитраж тимы
Это те, кто берёт заказы на Upwork/Freelancer и перепродаёт команде разработчиков, забирая маржу. Им теоретически нужна система с конкурсными откликами программистов.
Нашёл несколько таких команд. Одна согласилась на демо. Показал. Их вопрос:
> "А у вас есть интеграция с Upwork API? Нам нужно автоматически импортировать заказы."
Естественно такой фичи у меня нет. Они не купили.
Попытка 3: Прямая продажа на форумах фрилансеров
Написал в чаты и форумы для фрилансеров. Получил:
«А можно self‑hosted?»
«А почему не Open Source?»
«А можно триал на месяц?»
«А вы не кинете нас через полгода, если закроетесь?»
И всё стало на свои места. Никто не хочет складывать свою клиентскую базу в CRM от ноунейма, который может исчезнуть.
Почему не продалось: разбор полётов
Я потратил месяц на анализ и вот к чему пришёл:
1. Целевая аудитория — худшие клиенты в мире
Программисты и студии — это те, кто:
Если маленькие — пользуются бесплатным Trello + чат в Telegram
Если чуть больше — думают «мы ж программисты, сделаем сами за выходные» (и делают годами или не делают во все)
Если большие — сидят на Jira/Битрикс24, и выходить оттуда — бюрократический ад
2. Доверие к no-name софту
CRM — это сердце бизнеса, где клиентская база и деньги. Никто не хочет лить своих клиентов в базу данных, написанную неизвестным разработчиком и работающую на неизвестном сервере. А если self-hosted, то лень деплоить Docker, если это не супер-популярный инструмент.
3. Конкуренция с «конструкторами»
Сейчас любую похожую логику собирают на AmoCRM + Kommo или Make (Integromat) + Telegram. Это костыльно, но это «стандарт».
4. Я не нашёл PMF (Product-Market Fit)
Я решал свою придуманную проблему. У реальной аудитории проблема была другая:
Нужна интеграция с Upwork/Freelancer/1C
Нужен биллинг и инвойсы
Нужен тайм-трекинг
Нужна возможность добавлять кастомные поля
А у меня был красивый Kanban и конкурентная система откликов, которые реально никому не нужны.
5. Я позиционировал неправильно
Я писал "CRM для программистов", но по факту это FMS (Freelance Management System) / Private Marketplace. Это система для арбитражных команд (которые собирают заказы и перепродают в пул фрилансеров, забирая маржу). Обычной веб-студии с зарплатными сотрудниками bidding не нужен. А для тех, кто перепродаёт заказы — это критично.
Но арбитражных команд мало, и они все хотят свой кастом.
Что я сделал дальше
Сидел неделю и выбирал из трёх вариантов:
1. Pivot — добавить интеграции с Upwork, биллинг, инвойсы, сделать платформу для freelance agencies
2. SaaS по подписке — продолжать пытаться продавать по $49/мес
3. Open Source — выложить код, конвертировать в репутацию
Почему выбрал Open Source
Считаем экономику:
Pivot: Время на разработку интеграций. Нет гарантии, что купят. Риск высокий.
SaaS: Поддерживать одному — ад (баги, падения сервера, техподдержка пользователей). Доход неясен.
Open Source: Единовременная работа почистить код и в путь, но:
Превращает мёртвый код в какой-никакой проект, который может кому-то и понадобится
Может привести мне заказчиков на кастомизацию, кто его знает, я чисто в теории могу в это добавить и импортиеры Upwork и чего только не под ключ так сказать
Отличное портфолио для Fullstack (SvelteKit + tRPC + Drizzle + Aiogram — очень актуальный стек)
План действий: как превратить неудачу в актив
1. Почистил код
2. Написал статью (эту)
3. Выложил на GitHub под лицензией MIT
https://github.com/DedInc/c0de_crm
Что я получу от этого?
Я уже получил двух клиентов из попытки №1 и №3, которые хотят «такое же, но с перламутровыми пуговицами». А что будет дальше, посмотрим.
Спасибо, что дочитали и желаю всем как можно меньше мертвых проектов!