ДЕЛО 03ПлатформаВ РАБОТЕ
NeoPoints
Мультиарендная программа лояльности
Действующая программа лояльности в двух автопарках: водители получают баллы за реальные заказы, растут в рангах и обменивают баллы на подарки, а каждый баланс прослеживается до проводок.
- Роль
- Продуктовый и системный инженер
- Стек
- Next.js 16 · React 19 · TypeScript · PostgreSQL
NeoPoints строится вокруг сбалансированного журнала только на добавление и строгих границ между парками. У каждого парка свои домены, участники, кошелёк и активация; идентификацию и SMS-коды даёт YPay, данные Yandex Fleet приходят через общий Fleet-сервис, а поддержка остаётся в YDesk.
- Вклад
- Спроектировал и построил экономику баллов, журнал, tenant-модель, каталог подарков, геймификацию, админ-панели, интеграции с YPay и Fleet и процесс релизов.
- Ограничения
- Баллы имеют реальную ценность: каждый баланс должен сходиться с проводками, парки не должны видеть данные друг друга, а записи других систем доступны только через подписанные API.
Что построено
- Приложение на Next.js 16 и React 19 с процессами web, worker, order-board и Fleet на PostgreSQL; задачи и outbox хранятся в базе.
- Баллы за выполненные заказы фиксируются неизменяемыми сбалансированными проводками; корректировки администраторов проходят аудит.
- Каталог подарков с резервированием остатков и уведомлениями о заказах в Telegram, а также ранги, миссии, сезоны, рейтинги, акции 2x и публичные турниры по заказам.
- Подписанные HMAC внутренние API к YPay для идентификации, SMS-кодов и наград за челленджи; устанавливаемое PWA на грузинском, английском и русском.
Стек
- Next.js 16
- React 19
- TypeScript
- PostgreSQL
- Yandex Fleet
- YPay
- Telegram
- PWA