logo[мetahunt]
> Djinni
middle

Software Engineer

type:Full-time
node.jstypescriptpostgresqlprismarediskafkawebsocketsvitestdocker
clickhousecomputer vision
experience3+ years
domainiGaming
> full description

Про проєкт

Високонавантажений betting-рушій із realtime-взаємодією: життєвий цикл раунду, розрахунок результатів і виплат, синхронізоване мовлення, захист від front-running. Основні виклики: латентність, консистентність, надійність під навантаженням.

 

Наш стек

Node.js, TypeScript, Express 5, PostgreSQL/Prisma, Redis, Kafka/KafkaJS, ClickHouse, WebSocket/Socket.IO, PostHog, Pino, Vitest, Docker

 

Обов'язки

  • Розвивати betting-рушій на Node.js, TypeScript, Express 5: життєвий цикл раунду, розрахунок результатів і виплат, ідемпотентність операцій.
  • Реалізовувати realtime-шар на WebSocket/Socket.IO із синхронізованою затримкою мовлення (bet-lock, захист від front-running).
  • Будувати подієві пайплайни на Kafka/KafkaJS та антифрод-сховище на ClickHouse.
  • Інтегрувати HLS-парсинг фідів (.m3u8) і сервіс комп'ютерного зору; реалізовувати provably-fair (commit-reveal).
  • Працювати з PostgreSQL/Prisma та Redis (кеш, стан раундів, rate-limiting); налаштовувати observability (PostHog, Pino).
  • Забезпечувати надійність: тести (Vitest), контейнеризація (Docker/Compose), відмовостійкість фідів (failover, авто-void).

 

Вимоги (must-have)

  • 3+ роки бекенд-розробки на Node.js та TypeScript.
  • Свіжий релевантний досвід в iGaming!
  • Практичний досвід із realtime/WebSocket та високонавантаженими сервісами (латентність, конкурентність, консистентність).
  • Впевнена робота з PostgreSQL та Redis; транзакції, ідемпотентність, стани гонки (race conditions).
  • Досвід із брокерами повідомлень (Kafka або аналог) і подієвими пайплайнами.
  • Розуміння надійності сервісів: логування, метрики, обробка збоїв, тестування.

 

Буде плюсом

  • ClickHouse або інші аналітичні/колонкові БД; антифрод-логіка.
  • Відеопотоки (HLS/RTMP), комп'ютерний зір, provably-fair/криптографія (HMAC).

 

Що пропонуємо

  • Повна зайнятість (full-time).
  • Умови за домовленістю.