← Назад к работам

ДЕЛО 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