@shv_founder ↗
Case / 2025 Retail CRM

CRM студии света

База дизайнеров, источники офлайн‑продаж и SMS на FastAPI + SigmaSMS

CRMFastAPIPostgreSQLRedisSigmaSMS

Контекст

Один из крупнейших салонов света в Москве. Почти 30 лет работы — и огромная база дизайнеров интерьера: кто‑то покупает постоянно, с кем‑то давно пора возобновить контакт.

База жила везде, кроме одного места: часть в почте, часть на бумаге в шкафу директора. Офлайн‑продажи шли, а источник клиента и цепочка касаний оставались в голове менеджера.

Задача

Собрать операционную CRM под офлайн‑ритейл света: единая карточка дизайнера, фиксация сделок с источником, сегменты и SMS без ручного копипаста в Excel.

  • единая база дизайнеров с фильтрами и тегами;
  • SMS‑рассылки: акции, бранчи, дни рождения;
  • учёт возвратов после мероприятий;
  • офлайн‑сделки с обязательным источником (Instagram → Telegram → салон, Яндекс Карты → салон и т.д.);
  • админка, которой менеджеры реально пользуются каждый день.

Архитектура

Стек подобрали под нагрузку ритейла и очереди рассылок — без overengineering, но с запасом на рост базы и кампаний.

  • FastAPI — API и бизнес‑логика: карточки, сделки, сегменты, права, вебхуки доставки;
  • PostgreSQL — источник правды: клиенты, сделки, источники, шаблоны, статусы SMS;
  • Redis — очереди и кэш: сегментация, rate‑limit SigmaSMS, идемпотентность отправок;
  • SigmaSMS API — транзакционные и маркетинговые SMS с трекингом статусов.

Фронт админки — React: быстрые фильтры, обязательные поля при закрытии сделки, превью сегмента перед отправкой кампании.

Продукт

Менеджер видит карточку дизайнера: контакты, историю визитов, участия в бранчах, сделки и канал, откуда человек пришёл. Источник — не «по желанию», а шаг закрытия сделки.

Рассылки собираются из сегментов PostgreSQL: день рождения на неделе, не был N месяцев, пришёл с мероприятия, купил люстры / не купил аксессуары. Redis держит очередь и не даёт удвоить отправку при ретраях.

Статусы SigmaSMS пишутся обратно в сделку и карточку — видно, кто получил сообщение, кто отфильтрован оператором, где нужен повторный контакт вручную.

Главный урок

Через месяц после запуска спросили: «получили то, что хотели?» Ответ: «вообще ничего не поменялось».

В CRM было видно почему: больше 90% сделок менеджеры либо не заполняли, либо заполняли так, что источник клиента восстановить нельзя. Инструмент стоял. Процесс — нет.

Переписали инструкцию, разобрали реальные кейсы первого месяца, закрыли спорные сценарии и объяснили, зачем лишние клики сегодня превращаются в управленческие решения завтра. Внедрение CRM — это не только код. Это adoption.

Итог

  • единый контур «база → сделка → источник → SMS» на FastAPI + PostgreSQL;
  • надёжные рассылки через SigmaSMS с очередью в Redis;
  • прозрачная воронка касаний до офлайн‑продажи;
  • команда, которая понимает, зачем заполнять карточку — иначе аналитика бесполезна.

Подробнее про человеческую сторону внедрения — в заметке Thinking и на vc.ru.

Next / Your project

Нужен похожий продукт?