Корпоративные приложения
Системы, на которых держится вся организация
Что это значит на практике
Шесть вещей, которые отличают систему от сайта
Много ролей, одна правда
Руководителю филиала, бухгалтеру, региональному директору и аудитору нужен свой взгляд на одну и ту же запись — и никто из них не должен втихую видеть то, что ему не положено. Доступ по ролям проектируется на уровне данных, а не прячется в интерфейсе: если экран просто не показывает кнопку, это ещё не контроль доступа.
Согласования, которые что-то значат
Многоступенчатые цепочки согласований с делегированием, эскалацией и записью с отметкой времени: кто, что и в какой версии утвердил. В споре важна именно версия: согласование документа, который потом отредактировали, — уже не согласование.
Журнал аудита, который можно отстоять
Каждое изменение записывается как событие, а не поверх старого: прежнее значение, новое значение, кто, когда и почему. Всё можно восстановить и через несколько месяцев — это единственная проверка, которая имеет значение, и именно поэтому на такой системе вообще могут работать финансовые и регулируемые процессы.
Деньги, которые сходятся
Поступления, расчёты, возвраты, выплаты и учёт, который в конце месяца должен сойтись с банковской выпиской. Интеграция — лёгкая половина; на сверке и сбойных сценариях такие проекты и ломаются на самом деле.
Интеграции, которые выдерживают чужие системы
Платёжные шлюзы, бухгалтерские программы, государственные порталы, логистика, рассылки. Мы исходим из того, что другая система будет медленной, будет отваливаться по таймауту и иногда отвечать дважды, — поэтому повторный запрос не спишет деньги с клиента второй раз.
Переезд без остановки работы
Уход с таблиц или с программы, из которой вы выросли: обе системы работают параллельно, пока новая не докажет себя. Переключение за выходные без пути назад — такое решение никого не стоит заставлять принимать в воскресенье вечером.
Как идёт работа
Шесть этапов, и первый из них — не код
Изучить, как всё происходит на деле
Не процесс по документам, а процесс в жизни — вместе с обходными путями. Обходные пути и есть требования; систему, которая их игнорирует, сотрудники молча дублируют в таблице.
Архитектура и письменный журнал решений
Структура, модель данных, интеграции и компромиссы — записанные вместе с обоснованием. Чтобы через два года можно было понять, почему выбрали именно так, а не гадать и не переделывать.
Строить рабочими частями
По одному отделу или филиалу за раз, в реальной работе, а не восемнадцать месяцев разработки с показом в самом конце. Первая часть уже работает в продакшене, пока пишется вторая.
Перенести данные и работать параллельно
Исторические данные переносятся и проверяются сверкой, а не на глаз. Обе системы работают, пока цифры не сойдутся на протяжении полного цикла.
Обучить тех, кто будет работать в системе
На их собственных данных, в их собственном филиале. Именно на внедрении проваливается большинство таких проектов, и проваливается тихо: программа работает, а ею никто не пользуется.
Сопровождать систему
Мониторинг, резервные копии, проверенные восстановлением, дежурная линия и план развития, который пересматривается раз в квартал. Система, за которую после запуска никто не отвечает, деградирует, даже если её никто не трогает.
Стек
Называем прямо, чтобы можно было проверить
Продукт
- 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
- Аналитика
Принесите процесс, а не ТЗ.
Самая полезная первая встреча — разбор того, что ваша команда делает в обычный вторник. ТЗ вырастает из этого, и писать его — наша работа, а не ваша.