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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что не входит

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение к кабинету — следующей фазой

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

Мобильная разработка: цена и сроки

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

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

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

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

  1. Неделя 1

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

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

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

  2. Недели 2–3

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

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

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

  3. Недели 4–5

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

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

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

  4. Неделя 6

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

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

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

  5. Неделя 7

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

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

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

  6. Неделя 8

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

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

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

Встраивается в то, чем вы уже пользуетесь
  • 1С
  • МойСклад
  • Ю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 ₽ за восемь недель в первой версии. Автотесты на вход и права доступа входят в эту сумму, отдельной строкой их в смете нет. Фиксированную цену не обещаем: оплата по этапам, больше суммы текущего этапа вы не должны, и она не растёт, пока не меняется объём. Двигает цифру не количество экранов, а количество систем, из которых надо читать: одна — просто, три — это и есть основной проект. Сколько стоит личный кабинет на сайте, зависит ещё от одного вопроса: кто выдаёт доступ сотрудникам вашего клиента. Если вы — придётся разбирать заявки на доступ по почте; если они сами — нужна роль администратора на их стороне. И раз в кабинет заходят сотрудники контрагента, вы обрабатываете их персональные данные: это стоит обсудить с юристом до проектирования, а не в неделю запуска.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
CRM для IT-компании · Заказная разработка

CRM, в которой договор не может разойтись с актом

Своя CRM студии разработки: договор, ТЗ, счёт и акт собираются в PDF из одной карточки проекта, клиент принимает этапы в своём кабинете по пунктам ТЗ, а каждое его замечание сразу становится задачей в GitHub. Это CRM для IT-компании, которой мы пользуемся сами.

Кабинет, который клиент открывает по одной ссылке без входа и в котором принимает этап по пунктам ТЗ, а замечание сразу становится задачей разработчику.

561
тест на документы, печатные формы, кабинет клиента и приёмку этапов
4 вида
документов собираются в PDF из карточки проекта: договор, ТЗ, счёт, акт
Без входа
клиент открывает кабинет и принимает этап по одной секретной ссылке
Внутри живое демоЧитать разбор
Карточка проекта: этапы, сроки, стоимость, предоплата и постоплата
Интернет-магазин автозапчастей · Автозапчасти: розница и опт

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

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

Кабинет поставщика, куда он сам загружает прайс файлом CSV, и кабинет покупателя с гаражом машин и запросами на подбор.

Любое написание
номера детали — пробелы, дефисы и регистр не мешают поиску
Цена под группу
наценка группы покупателя плюс НДС позиции, гость видит цену «до»
Без лимита строк
прайс поставщика любого размера загружается из CSV построчно
Внутри живое демоЧитать разбор
Поиск по номеру детали: оригинал, аналоги и замены с ценой «до» для гостя

Что почитать перед тем, как заказывать личный кабинет

Все статьи →
Системы для производства

MES-система: что это такое и нужна ли она вашему производству

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

9 мин чтения

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

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

Расчёт придёт за 12 часов: цена от и до, из чего она сложилась и что её двигает. Не хватит данных — вопросы придут в те же 12 часов.