Номинируйте на конкурс Workspace Digital Awards телеграм и видео каналы, бренд-медиа и статьи. Скидка по промокоду media — 20%!
Ninen
Разработали внутренний сервис для модельного агентства RFMODEL и заменили зарубежную SaaS-платформу
Ninen
#Разработка сайтов под ключ

Разработали внутренний сервис для модельного агентства RFMODEL и заменили зарубежную SaaS-платформу

Ninen Беларусь, Минск
Поделиться: 0 0 0
Разработали внутренний сервис для модельного агентства RFMODEL и заменили зарубежную SaaS-платформу
Клиент

RFMODELS

Сфера

Мода и красота

Регион

Россия

Сдано

Март 2025

Задача

В модельном бизнесе скорость — это деньги.

200+ моделей в базе. Около 500 подборок в месяц. До 10 менеджеров ежедневно работают в единой системе. И каждая ошибка в процессе — это потерянное время, нервы и иногда контракт.

RFMODELS долгое время использовали Mediaslide как основную базу для букинга и отправки портфолио. Но по мере роста агентства сервис начал ограничивать процессы. Нельзя кастомизировать под реальные сценарии работы. Ограниченная фильтрация. Сложности доступа, оплаты и внешней зависимости — для крупного бизнеса это уже не мелочь.

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

Контент в этой индустрии — это продукт. Фото, видео, композитки, параметры модели. Если медиа дублируются, теряются или грузятся по несколько раз — это не просто неудобно, это риск для бизнеса.

Итак, перед нами стояла задача: спроектировать и разработать собственный внутренний веб-сервис — личный кабинет для менеджеров RFMODELS, который полностью закроет операционку агентства. Управляемый, масштабируемый, связанный с внешним сайтом и заточенный под реальные процессы: модели → подборки → клиенты. То есть полноценный рабочий инструмент, который выдерживает нагрузку, автоматизирует рутину и делает процесс предсказуемым.

Решение

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

Начали с ресёрча: разобрали текущий workflow менеджеров, провели митапы one-to-one, собрали пейн-поинты и прогнали ключевые сценарии через high-fidelity прототипы. Наша цель была понятна: сохранить удобную логику, убрать ограничения SaaS и встроить систему в реальный ритм агентства.

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

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

1Погружение в операционку: с чего начали

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

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

Мы начали с анализа трех слоев:

1) Люди — кто работает в системе, какие роли, какие действия повторяются ежедневно.

2) Процесс — как формируется подборка, как проходит выбор, где возникают задержки.

3) Контент — как хранятся медиа, как обновляются карточки моделей, что происходит при масштабировании.

Отдельно протестировали логику на интерактивных high-fidelity прототипах вместе с менеджерами. Это позволило скорректировать структуру до этапа разработки и убрать лишние шаги в сценариях.

В основе архитектуры заложили простую и прозрачную модель:

– единая база моделей,

– подборки как основной рабочий цикл,

– клиенты и статусы как инструмент контроля,

– дашборд с понятной аналитикой.

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

2Подборки как продуктовый цикл

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

Мы заложили четкий flow сборки:

– выбор моделей из базы,

– добавление получателей,

– сообщение и детали отправки,

– предпросмотр перед отправкой.

Статусы Draft / Sent / Opened / Clicked дают понятную картину. Внутри подборки видны действия клиента: Viewed / Selected / Rejected. Менеджер видит динамику автоматически.

Мы собрали список подборок так, чтобы менеджер за несколько секунд понимал ситуацию:

– статусы Sent / Opened / Clicked,

– фильтры по названию, компании, модели, времени,

– отдельный список черновиков,

– логика приоритета статуса при нескольких получателях.

Если один получатель кликнул, подборка получает соответствующий статус.

Сборка подборки: быстрый, понятный флоу

Flow сборки состоит из четырех шагов:

1) выбор моделей,

2) выбор получателей,

3) сообщение и детали,

4) предпросмотр.

Шаги можно проходить последовательно или в удобном порядке. Модели легко переставляются через drag&drop. Менеджер фокусируется на контенте, не на кнопках.

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

Внутри подборки: полная картина

После отправки подборка не исчезает в истории писем. Внутри доступны:

– статистика по действиям клиента,

– вкладка с получателями,

– возможность повторной отправки.

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

3Source of truth: карточки моделей

Если подборки — это поток, то карточки моделей — база данных. Карточка модели — это структурированный набор данных и медиа, который используется в десятках подборок. Здесь лежит все, что уходит к клиенту. Фото, видео, параметры, композитки. Мы собирали этот раздел как ядро системы.

Каталог: быстро найти, быстро работать

Мы сделали базу моделей единым source of truth. В базе уже 200+ моделей, и число растет. Поэтому каталог должен быть управляемым, а не списком с бесконечным скроллом.

Внутри:

– фильтрация по параметрам: пол, рост, параметры, возраст, локация, цвет глаз и волос и т.д,

– алфавитная навигация,

– активные и архивные модели,

– быстрое восстановление из архива.

Менеджер не тратит время на поиск. Нужная модель находится за секунды.

Портфолио: контроль без дубликатов

Мы сделали карточку модели единым источником данных:

– мультизагрузка фото и видео,

– управление порядком через drag&drop,

– флаги Default pic и Website pic для контроля обложек и синхронизации с сайтом.

Фото загружается один раз. Дальше используется в любой подборке.

Композитка: фича, которая экономит часы

Композитка — обязательный артефакт в индустрии. Часто ее собирают вручную в сторонних программах, что добавляет лишний шаг в процесс. Мы встроили генерацию PDF A4 прямо в личный кабинет. Менеджер выбирает 5 фото, данные подтягиваются из базы, файл готов к отправке или печати. Никаких дополнительных тулов. Все внутри системы.

4Клиенты и управление доступами: порядок в коммуникации

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

Подборки и карточки моделей работают в связке с клиентами. Без структурированной базы контактов процесс начинает рассыпаться. Поэтому база компаний встроена в общий процесс. При создании подборки менеджер выбирает получателей из базы.

Клиентская база: все контакты в одном месте

Мы собрали модуль так, чтобы менеджер не искал данные в переписках и таблицах. Внутри:

– поиск по названию компании и контактам,

– несколько контактов в одной карточке,

– сортировки по дате создания,

– метка «новый клиент» на 72 часа.

Последний пункт — простая, но важная логика. Система подсвечивает, когда приходит новый контакт.

Суперадмин: контроль внутри команды

Мы заложили роль суперадмина, чтобы управление сервисом происходило инхаус. В его зоне ответственности:

– создание администраторов,

– управление доступами,

– настройка распределения входящих заявок,

– глобальная статистика по всем менеджерам.

Регистрация менеджеров происходит только через суперадмина. Система остается управляемой и безопасной.

Безопасность и авторизация

Авторизация стандартная:

– вход по email и паролю,

– двухфакторная аутентификация,

– подтверждение входа с нового устройства.

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

5UX на 106 экранах для ежедневной работы

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

Две версии структуры и цветовые итерации

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

Для каждой страницы личного кабинета мы отдельно прорисовали адаптивные экраны. Причем не только для десктопа и телефона, как это часто делают. Создали по 5 версий макетов для каждой страницы: ширины на 360, 576, 992, 1250 и 1920 пикселей, чтобы учесть все брейкпоинты и менеджеры могли удобно работать с системой на любом устройстве.

А всего для личного кабинета в дизайне было разработано 106 страниц, не считая адаптивные макеты к ним, и 8 UI-китов для ховеров, error, disabled и других состояний всех интерактивных элементов для отдельных разделов.

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

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

6Медиа, скорость и профилирование: разработка без лагов

В этом проекте все упирается в контент. Сотни моделей, фото, видео, постоянные операции. Если система начинает тормозить, никакой UI не спасет. Поэтому техническую часть мы проектировали сразу с учетом нагрузки.

Первое — работа с медиа. Мы реализовали кастомный скрипт сжатия изображений и снизили средний вес фото примерно на 20%. Это дало ощутимый прирост скорости без потери качества, что критично для fashion-индустрии. Детализация остается на уровне, который нужен для оценки портфолио.

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

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

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

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

Результат

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

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

Что изменилось на практике:

1) 200+ моделей в единой базе с централизованным управлением медиа, параметрами и композитками. Фото загружаются один раз и используются во всех подборках.

2) Около 500 подборок ежемесячно проходят через систему со статусами Draft / Sent / Opened / Clicked и детальной статистикой действий клиента.

3) До 10 менеджеров ежедневно работают в одной среде, без разрозненных файлов и пересылок материалов.

4) Композитки формируются за минуту прямо в личном кабинете — без сторонних инструментов и ручной верстки.

5) Снижен средний вес изображений примерно на 20% благодаря кастомной оптимизации, что дало прирост скорости при работе с большим объемом медиа.

6) Полная синхронизация с внешним сайтом — изменения в карточках моделей автоматически отражаются на публичной части.

7) Ролевая модель с управлением доступами — суперадмин контролирует структуру команды, распределение заявок и глобальную статистику.

Главное — процесс стал предсказуемым. Статусы фиксируются в системе. Медиа не дублируются. Команда работает в одном workflow. RFMODELS получили не админ-панель, а управляемый продукт, который выдерживает текущую нагрузку и масштабируется вместе с бизнесом.

Комментарий агентства

Ян Лазарёнок
Ян Лазарёнок

Генеральный директор (CEO)

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


Стек технологий

  • SCSS SCSS Язык программирования
  • HTML HTML Язык программирования
  • JavaScript JavaScript Язык программирования
  • React.js React.js Фреймворк/библиотека
  • Figma Figma Графический редактор
  • ChatGPT ChatGPT Нейросеть
  • Gemini Gemini Нейросеть

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Ninen с удовольствием обсудит вашу задачу

Оставить заявку