Перейти к содержанию

Корпоративные приложения

Системы, на которых держится вся организация

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

Что это значит на практике

Шесть вещей, которые отличают систему от сайта

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

Много ролей, одна правда

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

Согласования, которые что-то значат

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

Журнал аудита, который можно отстоять

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

Деньги, которые сходятся

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

Интеграции, которые выдерживают чужие системы

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

Переезд без остановки работы

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

Как идёт работа

Шесть этапов, и первый из них — не код

Самые дорогие ошибки в корпоративных проектах совершаются до того, как что-то построено, — в разрыве между тем, как процесс описан, и тем, как его выполняют на самом деле.
01

Изучить, как всё происходит на деле

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

02

Архитектура и письменный журнал решений

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

03

Строить рабочими частями

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

04

Перенести данные и работать параллельно

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

05

Обучить тех, кто будет работать в системе

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

06

Сопровождать систему

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

Стек

Называем прямо, чтобы можно было проверить

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

Продукт

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • React Native
  • Expo

Бэкенд

  • NestJS
  • Node.js
  • PostgreSQL
  • Prisma
  • Redis
  • WebSockets

Облако

  • Vercel
  • Render
  • Cloudflare
  • Docker
  • Объектное хранилище
  • CDN

Деньги

  • Razorpay
  • Stripe
  • Cashfree
  • UPI
  • Выплаты
  • Подписки

ИИ

  • Google Gemini
  • Claude
  • Компьютерное зрение
  • Речь
  • Эмбеддинги
  • Агенты

Рост

  • Техническое SEO
  • Meta Ads
  • Google Ads
  • WhatsApp Business
  • Email
  • Аналитика

Принесите процесс, а не ТЗ.

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