Веб-приложение · Recharts · RBAC · аудит
SaaS-дашборд
Руководителю выручки нужно за минуту понять, откуда вырос MRR, кто из клиентов вот-вот уйдёт и что поменялось в доступах. Здесь 40 клиентов и 53 недели истории: KPI с дельтами к прошлому периоду, разложение MRR на новые, апгрейды, даунгрейды и отток, сводка с рисками и таблица со здоровьем каждого клиента. Роли «Админ», «Аналитик» и «Наблюдатель» режут меню, кнопки и действия — без настоящего логина, чтобы демо можно было потрогать сразу.
Сценарий: SaaS «Обзор» — вымышленный сервис аналитики по подписке; панель — внутренний кабинет его команды выручки.

Открыть демо
Изменения хранятся в браузере; «Сбросить демо» в меню возвращает исходную историю.
Приложение работает в браузере: на сервер ничего не отправляется.
Что показывает демо
Как попробовать
Посмотрите обзор
Переключите период на «Полгода» — KPI, графики и сводка пересчитаются.
Откройте клиента в зоне риска
В блоке «Требуют внимания» — карточка покажет, за что снижено здоровье.
Смените тариф
Переведите клиента на Business — MRR на обзоре вырастет, запись появится в «Журнале».
Станьте наблюдателем
«Выгрузка», «Журнал» и «Настройки» закроются, а смена тарифа станет недоступна.
Без платных нейросетей
Клиенты и история синтетические, роли переключаются в UI без серверной сессии, журнал и настройки живут в localStorage. Сводку в рабочем проекте пишет LLM по тем же цифрам — здесь правила на JS, без платных запросов. В рабочем проекте роли идут из JWT/SSO, права проверяет API, а данные приходят из биллинга и CRM.
Демо работает без API-ключей OpenAI, YandexGPT или GigaChat. Там, где рабочая система обращается к модели, стоит локальная заглушка с тем же интерфейсом — поэтому демо бесплатно, всегда доступно и ничего не выдумывает.
Что будет в рабочем проекте
- Права и журнал действий на сервере, 403 вместо скрытых кнопок
- Данные из биллинга и CRM, пересчёт метрик по расписанию
- Оповещения в почту и Telegram, еженедельная сводка
- Сохранённые представления таблицы на пользователя
Стек
- Все демо по стеку:
- React
- TypeScript
- React 19
- TypeScript
- Recharts
- Vite
- Tailwind CSS
Комментарий от разработчика
Антон Гончаров
Разработчик ИИ-систем · Python
Для бизнеса
- Видно, из чего сложился рост MRR: новые клиенты, апгрейды и потери — отдельно.
- Клиенты в зоне риска всплывают сами, с причиной: пустые места, тикеты, просрочка.
- Журнал отвечает на «кто поменял тариф» без расследования в чатах.
Для разработчиков
- Один генератор истории за год — все графики, таблица и сводка считаются из него.
- RBAC — права-возможности, проверяются и в UI, и в редьюсере; покрыто тестами.
- CSV с «;», BOM и CRLF — открывается в русском Excel двойным щелчком.
Советы
Совет 01
Роли проверяйте и в меню, и на действиях: спрятанная кнопка — не авторизация.
Совет 02
Показывайте не только MRR, но и его движение — по одной цифре не видно, что клиенты уходят.
Нужен такой же для вашего бизнеса?
Расскажите о задаче — отвечу, что из демо подойдёт вам, сколько это займёт и что понадобится с вашей стороны.
Другие демо в этом разделе
Все демо- работает
Веб-приложение · OCR · проверка реквизитов
Распознавание документов
Загрузите счёт или акт — фото, скан или PDF. Приложение распознаёт текст, вытаскивает реквизиты и строки таблицы и проверяет их: контрольные суммы ИНН и счетов, итог и НДС.
- React
- TypeScript
- Нейросеть в браузере
- работает
Веб-приложение · диалоги · сделки · аналитика
Панель оператора
Рабочее место оператора, которому бот передаёт сложные обращения: очередь с таймером, резюме диалога, черновик ответа, сделки на канбане и аналитика — на живом потоке клиентов.
- React
- TypeScript
- работает
Веб-приложение · Laravel · PostgreSQL
Складской контур на Laravel
Учёт склада, где остаток — сумма проводок, а не «поле qty--»: заказы с резервом «всё или ничего», сборка по ячейкам, приёмка с импортом CSV, инвентаризация и журнал. Гонка двух настоящих процессов PHP в PostgreSQL показывает, зачем нужна блокировка строки.
- PHP
- работает
Веб-приложение · метрики · оповещения
Мониторинг бота
Как следят за ботом, когда он уже работает с клиентами: сколько запросов, как быстро он отвечает, как часто ошибается или не знает ответа. Журнал запросов с трассой каждого ответа и правила, которые пишут дежурному в Telegram, если что-то пошло не так.
- React
- TypeScript
- работает
Парсер на Python · работает в браузере
Мониторинг цен конкурентов
Парсер на Python каждый день обходит сайты трёх конкурентов магазина электроники: HTML-каталог с пагинацией, sitemap с JSON-LD и SPA с API. Сопоставляет товары с каталогом, присылает уведомления об изменениях, рекомендует цену по правилам и выгружает отчёт в Excel. Python работает прямо в браузере.
- Python
- React
- TypeScript
- работает
Веб-приложение · PWA · нативный JS
Офлайн-приложение курьера
Рабочий день курьера: заказы, звонок клиенту, вручение с фото и подписью. Приложение открывается и работает без сети, а изменения уходят в диспетчерскую, когда связь вернётся. Если диспетчер за это время изменил тот же заказ — курьер выбирает, чья версия верная.
- Нативный JS
