Куб из сфер — знак студии

12 лет в заказной разработке

Личный кабинет, который отвечает за вас на одни и те же вопросы

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

Смотреть работы
Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//Личный кабинет//
Узнаёте себя?

Ваши сотрудники работают поиском по вашим же данным

  • «Половина обращений — «где мой заказ».»

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

  • «Мы по десять раз пересылаем одни и те же документы, потому что старые никто не находит.»

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

  • «Клиенты звонят знакомому менеджеру вместо любой системы.»

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

  • «Данные лежат в трёх системах, и клиент не видит ни одной.»

    Вот это и есть настоящая работа кабинета: не новая база, а одно честное окно в те, что уже есть. Основные усилия уходят на сведение, а не на экраны.

Первая версия

Одно место, где клиент отвечает себе сам, — за восемь недель

от 500 000 ₽
Фиксируется под объём, согласованный до старта. Дешевле полноценной внутренней системы, потому что у кабинета одна аудитория и одна работа: показать человеку его данные и дать сделать с ними немного.
Восемь недель
От первого созвона до кабинета, в который ваши клиенты заходят и работают на настоящих данных.

Что вы получаете

  • Вход, который переживает реальную жизнь: сброс пароля, протухшая сессия, два устройства у одного клиента
  • Статус того, чего клиент ждёт: заказ, заявка, обращение, доставка
  • Документы и счета с историей, скачиваются без просьбы кому-либо
  • Одно действие, которое клиент делает сам: заявка, загрузка файла, согласование или оплата
  • Уведомления на почту словами, которыми написали бы вы, а не шаблоном системы
  • Экран для вашей стороны: что видит клиент и как это поправить, когда там неправда
  • Чтение из систем, которые у вас уже работают, вместо второй копии правды

Что не входит

  • Замена систем, которые стоят за кабинетом: кабинет — окно, а не склад
  • Публичный сайт: другая работа, другая страница, часто другой подрядчик
  • Мобильные приложения в первой версии — адаптивный кабинет закрывает телефон
  • Чат и тикет-система: зрелые продукты дешевле и лучше, мы их интегрируем
  • Пересчёт вашей бухгалтерии. Мы показываем то, что говорит 1С, и указываем источник
717
автопроверок на браузерной стороне самой большой нашей системы
3
измерения доступа считаются одновременно: бренд, филиал, город
2
наших продукта можно открыть прямо сейчас
Что получается

Что входит в первые восемь недель, а что ждёт

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

Какие сценарии в какой этап работы попадают
СценарийПервые восемь недельВторой этапНе мы
Аккаунты, вход и состояния вокруг негоПриглашение, сброс, протухание, клиент, у которого уволился контактный человек. Скучно, неизбежно и ломается первым, если пропустить.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Статус того, чего клиент ждётЗаказ, заявка, отгрузка. Самый ценный экран: он убирает самое частое сообщение, которое вы получаете.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Документы и счета с историейКаждая версия, с датой, скачивается сама. Половина «пришлите ещё раз» исчезает на той же неделе.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Одно действие клиентаВыбирается на первой неделе: оставить заявку, загрузить файл, согласовать смету, оплатить счёт. Одно, но сделанное целиком.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Чтение из ваших системКабинет показывает то, что уже знают 1С и CRM. Вторая копия правды — это способ начать расходиться с реальностью.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Уведомления, которые не отключаютНаписанные человеком и отправленные тогда, когда правда что-то изменилось. Всё остальное приучает клиента вас игнорировать.Покрыто · Первые восемь недельНе покрыто · Второй этапНе покрыто · Не мы
Оплата прямо в кабинетеЧаще второй этап: показанный остаток снимает большую часть трения, а приём денег — отдельный разговор с провайдером.Не покрыто · Первые восемь недельПокрыто · Второй этапНе покрыто · Не мы
Самообслуживание сверх одного действияЧто именно нужно, становится видно после месяца работы. Угадывать раньше — строить не те три вещи.Не покрыто · Первые восемь недельПокрыто · Второй этапНе покрыто · Не мы
Замена CRM или учётной системыСовсем другой проект, и обычно идея хуже, чем кажется рядом с кабинетом.Не покрыто · Первые восемь недельНе покрыто · Второй этапПокрыто · Не мы
входитне на этом этапе

Состав выходит из первой недели. Не двигается порядок: сначала только чтение, потом одно действие, остальное — после настоящей работы.

Сначала посчитайте письма, потом рисуйте экраны

Самый дешёвый час этого проекта тратится в вашем почтовом ящике с карандашом. Где заказ, сколько должен, пришлите счёт, кто мой менеджер, когда приедет мастер — пять категорий обычно закрывают большую часть объёма и говорят, что кабинет обязан отвечать в первый день, точнее любого совещания. Заодно появляется число, которым эта работа обосновывается: если два человека полдня отвечают на три вопроса, окупаемость считается, а не декларируется.

Кабинет — это в основном сведение, а не экраны

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

Как мы проектируем данные, которые доживают до второго года

Про безопасность — без общих слов

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

Сьют, который покрывает эти пути

Почему первая версия — это чтение плюс одно действие

Каждое действие клиента — это дорога внутрь ваших рабочих систем, и каждой нужны правила: кто вправе отменить, что происходит с оплаченным заказом, какие изменения требуют согласования. Сделать пять таких дорог сразу — удвоить проект, не увеличив пользы, потому что основное облегчение даёт возможность посмотреть, а не сделать. Одно действие, выбранное потому, что оно убирает настоящую работу, — честная первая версия. Второе и третье станут очевидными, когда кабинетом начнут пользоваться.

Почему кабинеты забрасывают

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

И чего мы не делаем

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

Восемь недель, и в конце каждой — что-то настоящее

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

  1. Неделя 1

    Пять вопросов и одно действие

    Вместе смотрим вашу почту и считаем, о чём спрашивают на самом деле. Из этого получается список экранов и то единственное действие, которое стоит сделать первым.

    Вы видитеСписок того, на что отвечает кабинет, с объёмом обращений против каждой строки.

  2. Недели 2–3

    Аккаунты и форма данных

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

    Вы видитеМожно пригласить живого клиента, он войдёт и увидит пустой кабинет.

  3. Недели 4–5

    Кабинет только для чтения

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

    Вы видитеКлиент отвечает себе на три самых частых вопроса, ничего вам не написав.

  4. Неделя 6

    Одно действие

    Заявка, загрузка, согласование или оплата — вместе с правилами о том, кто вправе это сделать и что происходит на вашей стороне.

    Вы видитеТо, что раньше приходило письмом, приходит записью в системе.

  5. Неделя 7

    Проверка доступа и обкатка

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

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

  6. Неделя 8

    Живые клиенты и передача

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

    Вы видитеВсё в ваших аккаунтах, живые клиенты внутри, тесты зелёные на каждый пуш.

Встраивается в то, чем вы уже пользуетесь
  • МойСклад
  • ЮKassa
  • Unisender
  • S3-совместимое хранилище
  • PostgreSQL
  • GitHub Actions
Что остаётся у вас

Три вещи, которые остаются после кабинета

То же, что на любой системе такого размера, и снимки — из наших работ, а не из шаблона.

Вывод терминала: 24 сьюта пройдены, 173 теста прошли, 2 пропущены

Тесты, которые сторожат чужие данные

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

jest по test/*.e2e-spec.ts в маркетплейсе, который мы ведём, 21 августа 2026

Модель Deposit из schema.prisma: сумма десятичным числом, срок, статус-перечисление

Модель данных, в которой видно происхождение каждого факта

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

schema.prisma маркетплейса, который мы ведём

Файл воркфлоу этого сайта: что запускается на каждый пуш в main

Пайплайн, который делает релиз рутиной

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

.github/workflows/ci.yml из репозитория этого сайта

Честно про себя

Одним кабинет окупается, у других стоит пустым

Строить стоит, если

  • Ваши люди каждый день отвечают на одни и те же вопросы, и вы можете назвать их прямо сейчас
  • Клиенты чего-то ждут — заказа, заявки, мастера — и об этом спрашивают
  • Данные уже есть в системе, просто они невидимы тем, кого касаются
  • У вас повторные клиенты, а не разовые покупки: в кабинет нужно зачем-то возвращаться
  • Документы пересылаются не по одному разу, и поиск последней версии отнимает время
  • На вашей стороне есть человек, который решит, что клиенту можно менять, а что нет

Строить не стоит, если

  • Клиент покупает один раз и не возвращается — заходить незачем
  • Данным пока нельзя верить. Кабинет показывает качество ваших данных тем, кого они касаются больше всех
  • Настоящая проблема в том, что три системы противоречат друг другу. Сначала это, иначе кабинет просто опубликует противоречие
  • Вы ждёте, что он заменит телефон. Не заменит, а оставшиеся звонки обычно как раз те, которые стоит вести
  • После запуска им никто не будет заниматься: устаревшие данные хуже, чем их отсутствие

Если это звучит как «нет», скажите на созвоне. Иногда честный ответ — еженедельное письмо со статусами, которое делается за два дня и убирает те же сообщения.

Вопросы про личный кабинет для клиентов

Коротко. Длинные ответы — на созвоне.

Личный кабинет на заказ — от 500 000 ₽ за восемь недель в первой версии, цена фиксируется под объём, согласованный до старта. Дешевле полноценной внутренней системы, потому что у кабинета одна аудитория и одна работа. Двигает цифру не количество экранов, а количество систем, из которых надо читать: одна — просто, три — это и есть основной проект.

Это вариант по умолчанию, и мы за него агитируем. Кабинет со своей копией заказов и счетов однажды разъедется с источником, и с этого дня начнёт противоречить вашим же сотрудникам. Чтение из источника означает, что кабинет всегда настолько же прав, насколько права система за ним, — и любое расхождение становится вопросом к той системе, а не к кабинету.

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

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

Каждый запрос проверяет на сервере, вправе ли этот пользователь видеть эту запись, — интерфейс ничего не прячет, сервер отказывает. Документы отдаются приложением, а не лежат по угадываемым адресам. И в сьюте есть сама попытка: один клиент тянется к заказу другого. Если будущая правка сломает это правило, упадёт сборка, а не репутация.

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

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

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

Избранные работы

Системы, где это уже работает

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

Двусторонний маркетплейс · Экономика авторов

Маркетплейсы, где деньги лежат посередине

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

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

4 месяца
от старта до работающего продукта
173
сквозных теста в 24 сьютах
21
модель данных под этим
Внутри живое демоЧитать разбор
Creator feed in the marketplace app, with an order button
Система для позаказного производства · Медицинское производство

Системы для производства, где каждый заказ единственный в своём роде

У позаказного производства нет каталога и нет кнопки «повторить». Каждое изделие делается для одного человека по меркам, которые компьютер снимает со скана, и система обязана удержать эту нить от первого приёма через изготовление, доставку и переделку через полтора года.

Доступ считается по бренду, филиалу и городу одновременно: каждый видит ровно свою работу и ничего рядом. Тот самый вопрос про доступ, решённый в масштабе целой компании.

8 месяцев
и продолжается — самая большая система, которую мы ведём
13
семейств потоков, от приёма до переделки
2053
автопроверки в трёх репозиториях
Внутри живое демоЧитать разбор
Order board in the operations platform, with production stages

Сколько стоит такая разработка и как проверяют доступы

Все статьи

Поговорим про то, что вам нужно: личный кабинет для клиентов

Расскажите, что нужно сделать

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