Відкритий до ролей Lead / Senior Fullstack

Владислав Пелих

Lead Fullstack Engineer · Зараз CTO в AdMatrix

Будую високонавантажені системи, від яких напряму залежить виручка, для AdTech, iGaming і фінтеху, і керую командами, що їх підтримують. Спеціалізуюся там, де помилка коштує грошей: платіжні та постбек-пайплайни, real-time аналітика на ClickHouse, конкурентність та ідемпотентність.

<200ms
постбеки виручки, було 1–6 с
20,000+
одночасних WebSocket-користувачів на піку
270k
рядків TypeScript-платформи, яку я спроєктував
270+
сайтів розгортаються автоматично
7
інженерів і дизайнерів найняв і очолив
0
подвійно врахованих депозитів

Кейси

11

Інциденти в продакшені та складні задачі, за які я відповідав: що зламалося, як знайшов причину, що в результаті пішло в прод.

Усі кейси

Реверс-інжиніринг

Коли API немає — я його будую. Перехоплення трафіку, деобфускація JS, бінарні протоколи та нативні хуки — у стабільні типізовані інтеграції.

01 Деобфускація підпису запитів

signer.min.js → signer.ts
  1. 0. сирий бандл
  2. 1. інлайн масиву рядків
  3. 2. згортка констант
  4. 3. перейменування
  5. 4. чистий підпис
var _0x3f2a=['\x73\x69\x67\x6e','\x6a\x6f\x69\x6e','\x48\x6d\x61\x63'];
(function(_0x1,_0x2){while(--_0x2){_0x1.push(_0x1.shift())}})(_0x3f2a,0x1b3);
function _0x51(_0x9){return _0x3f2a[_0x9-0x0]}
function a(b,c,d){var e=[b[_0x51('0x1')]('&'),c,d][_0x51('0x1')]('|');
return window[_0x51('0x2')](0x2*0x8+0x10,e)[_0x51('0x0')](k)}

02 Розбір protobuf без .proto

capture.bin · 23 байт
0000089601120670656c
0008796b681a02080720
0010012a046c656164

 

// розкодовано
{
  "id": 150,
  "handle": "pelykh",
  "team": { "size": 7 },
  "active": true,
  "role": "lead"
}
  • Chrome DevTools / CDP
  • mitmproxy
  • Burp Suite
  • Charles
  • Wireshark
  • Frida
  • JADX
  • apktool
  • Ghidra
  • Babel AST
  • source maps
  • webpack chunk graphs
  • Puppeteer
  • Playwright
  • Protobuf wire format
  • MTProto
  • WebSocket frames
  • HMAC request signing
До лабораторії

Навички

Бекенд

  • TypeScript
  • Node.js
  • NestJS
  • Fastify
  • Nitro / h3
  • Go
  • BullMQ
  • Socket.IO
  • SSE
  • REST
  • OpenAPI
  • gRPC
  • Zod
  • Pino
  • Distributed locks
  • Idempotency
  • Event-driven design

Фронтенд

  • Vue 3
  • Nuxt 3/4
  • Pinia
  • VueUse
  • Tailwind
  • shadcn-vue
  • TanStack Table
  • TipTap
  • Vue Flow
  • Motion
  • i18n
  • React
  • Next.js
  • Canvas
  • Web Workers
  • PWA
  • SSR / SSG
  • Core Web Vitals
  • Technical SEO

Дані

  • PostgreSQL
  • ClickHouse
  • Redis
  • BigQuery
  • MongoDB
  • SQLite
  • Drizzle
  • Prisma
  • ETL pipelines
  • Double-entry ledgers

Інфраструктура

  • Docker
  • Kubernetes
  • AWS
  • Cloudflare
  • Nginx
  • Caddy
  • Linux
  • GitHub Actions
  • Turborepo
  • Changesets
  • Sentry
  • Grafana
  • Vitest
  • Playwright

Інтеграції та AI

  • Meta Marketing API
  • Google APIs
  • Telegram Bot API
  • MTProto
  • Telegram Mini Apps
  • Namecheap / Dynadot
  • Puppeteer
  • ComfyUI
  • Wan 2.2
  • Qwen-Image
  • GPU job orchestration

Безпека

  • Token rotation
  • OAuth 2.0
  • RBAC
  • Argon2
  • AES-256-GCM
  • CSP nonces
  • CSRF
  • Rate limiting
  • TOTP 2FA
  • HMAC signatures
  • Audit logs

Мови

Англійська — робоча · Українська, російська — рідні

Досвід

    • Інженерне лідерство. Зібрав інженерну команду з нуля до 7 розробників і дизайнерів; найм, онбординг, стандарти code review, CI quality gates і процес релізів; роадмап з пріоритетами за виручкою.
    • Архітектура платформи. Спроєктував монорепозиторій на ~270k рядків (pnpm + Turborepo): NestJS (Fastify) API, Nuxt SPA, спільні Drizzle/Zod контракти, Telegram-боти та Mini App — єдиний наскрізний типізований контракт.
    • Ядро виручки. Переписав легасі PHP-обробники постбеків на NestJS S2S-сервіс з 4 шлюзами; сувора ідемпотентність через розподілені блокування Redis для FTD, редепозитів і LTV. Затримка 1–6 с → <200 мс.
    • ETL та аналітика. BullMQ-пайплайни потокового завантаження кліків у ClickHouse (ReplacingMergeTree, помісячні партиції); прибрав подвійний облік і OOM кластера; real-time ROI / ROAS / CPA / EPC на обмежених запитах.
    • Автоматизація інфраструктури. Пайплайни розгортання через API Cloudflare, Namecheap і Dynadot з ретраями та відкатом для 270+ сайтів і 470+ доменів; переніс 219 живих зон без простою; підняв сервер на 250 сайтів після аварії — навантаження 125 → 7.
    • Безпека. Ротація refresh-токенів з виявленням повторного використання, RBAC на 60 прав з аудитом, шифрування полів AES-256-GCM.
    • NestJSFastifyNuxtPostgreSQLDrizzleClickHouseRedisBullMQDocker
    • Real-time. Масштабував відмовостійкі WebSocket-кластери на 20 000+ одночасних гравців під час пікових спортивних подій.
    • Продуктивність. Скоротив час відповіді сервера на 40% завдяки кешуванню в Redis, оптимізації планів запитів і партиціюванню PostgreSQL.
    • Фронтенд. Очолив міграцію на Nuxt 3 (Nitro), First Contentful Paint −35%.
    • Node.jsRedisPostgreSQLWebSocketsNuxt 3
    • Платежі. Розробив високонавантажений платіжний шлюз USDC/BTC на суворо ідемпотентних API — жодних фінансових розбіжностей чи подвійних виплат при повторах і часткових збоях.
    • Дані. Оптимізував схеми та плани виконання — BI-звітність по транзакціях на 60% швидша.
    • Node.jsPostgreSQLIdempotencyCrypto
    • MVP. Запустив 4 production-ready fullstack MVP з нуля у стислі терміни для перевірки гіпотез зростання на seed-стадії.
    • Real-time. Спроєктував інфраструктуру сповіщень на Socket.IO для 5 000+ одночасних користувачів.
    • VueNode.jsMongoDBSocket.IO

Вибрані проєкти

  • AffSource— AI-креативи (відео й фото) для арбітражниківЗасновник · у розробці

    Промпт → готовий рекламний креатив → відеоредактор у браузері → експорт. Працює на власних open-weight моделях (Wan 2.2, Qwen-Image) на орендованих GPU замість платних API, тож креатив коштує в рази дешевше. Пакетна генерація хуки × GEO × формати, живий прогрес через SSE, експорт у Web Worker.

    Nuxt 4 · Go · ComfyUI · Canvas · Web Workers · R2 + CDN

  • ORYX— USDT-леджер, який контролює сама база

    Append-only double-entry журнал під захистом constraint-тригерів Postgres: баланс сходиться при коміті, UPDATE / DELETE / TRUNCATE заборонені, ідемпотентність за ключем, точність 18 знаків.

    NestJS · PostgreSQL · Drizzle

  • Ares-Nexus— Рушій зведення ордерів

    Матчинг на Redis Sorted Sets з леджером у PostgreSQL. <50 мс від ордера до UI і стакан на PixiJS у 60 FPS через WebSockets з тротлінгом.

    NestJS · Redis · PostgreSQL · PixiJS

  • Ares-X & Fundory— Provably fair рушій і Mini App

    Provably fair ігровий рушій на HMAC-SHA512, 60 FPS на мобільних; Telegram Mini App з дедуплікованими нагородами в BullMQ, перевіркою initData та автоматичними виплатами в TRON.

    Node.js · BullMQ · TronWeb · Telegram

  • Pulsarr— Трекер — альтернатива Keitaro / Binom

    Click-сервер на Go, NestJS API та звіти на ClickHouse: роутинг кампаній, постбеки й статистика в реальному часі.

    Go · NestJS · ClickHouse · Redis

./lab · 27Hard modeРеверс приватних API, деобфускація ворожого JS, грошові потоки без втрат і click-сервер на Go на межі пропускної здатності — 16 задач з кодом.

Контакти

Шукаєте lead або senior fullstack-інженера, або маєте складну задачу в платежах, трекінгу чи real-time даних? Пишіть — зазвичай відповідаю протягом дня.

Написати листа