Open to Lead / Senior Fullstack roles
Vladyslav Pelykh
Lead Fullstack Engineer · Currently CTO at AdMatrix
I build revenue-critical, high-load systems for AdTech, iGaming and fintech — and lead the teams that run them. I specialize in the parts where mistakes cost money: payment and postback pipelines, real-time analytics on ClickHouse, concurrency and idempotency.
- <200ms
- revenue postbacks, down from 1–6 s
- 20,000+
- concurrent WebSocket users at peak
- 270k
- LOC TypeScript platform architected
- 270+
- sites provisioned on autopilot
- 7
- engineers & designers hired and led
- 0
- double-counted deposits
Case files
11Production incidents and hard problems I owned — what broke, how I traced it, what shipped.
- 1–6 s → <200 msPostback race on every depositAdMatrix · S2S revenue core
- 0 double-counted clicksDouble-counted clicks in ClickHouseAdMatrix · analytics
- OOM → graceful degradeOne pivot query took the whole cluster downAdMatrix · pivot engine
- 6 tabs · 0 false logoutsToken rotation that didn’t log out power usersAdMatrix · auth
- 2ⁿ bursts → serialFake 95% rate-limit and exponential burstsAdMatrix · Meta Marketing API
Reverse engineering
When there is no API, I build one. Traffic capture, JS deobfuscation, binary protocols and native hooks — turned into stable, typed integrations.
01 Deobfuscating a request signer
- 0. raw bundle
- 1. inline string array
- 2. fold constants
- 3. rename by usage
- 4. clean signer
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 Decoding protobuf without a .proto
// decoded { "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
Skills
Backend
- TypeScript
- Node.js
- NestJS
- Fastify
- Nitro / h3
- Go
- BullMQ
- Socket.IO
- SSE
- REST
- OpenAPI
- gRPC
- Zod
- Pino
- Distributed locks
- Idempotency
- Event-driven design
Frontend
- 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
Data
- PostgreSQL
- ClickHouse
- Redis
- BigQuery
- MongoDB
- SQLite
- Drizzle
- Prisma
- ETL pipelines
- Double-entry ledgers
Infra & quality
- Docker
- Kubernetes
- AWS
- Cloudflare
- Nginx
- Caddy
- Linux
- GitHub Actions
- Turborepo
- Changesets
- Sentry
- Grafana
- Vitest
- Playwright
Integrations & 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
Security
- Token rotation
- OAuth 2.0
- RBAC
- Argon2
- AES-256-GCM
- CSP nonces
- CSRF
- Rate limiting
- TOTP 2FA
- HMAC signatures
- Audit logs
Languages
English — professional working · Ukrainian, Russian — native
Experience
- Engineering leadership. Built the engineering org from zero to 7 engineers and designers; owned hiring, onboarding, code review standards, CI quality gates and the release process; drove a roadmap prioritized against revenue goals.
- Platform architecture. Architected a ~270k LOC pnpm + Turborepo monorepo — NestJS (Fastify) API, Nuxt SPA, shared Drizzle/Zod contracts, Telegram bots and a Mini App — with one end-to-end typed contract.
- Core revenue pipeline. Re-engineered legacy PHP postback handlers into a NestJS S2S service on 4 gateways; strict idempotency via Redis distributed locks for FTD, redeposit and LTV attribution. Latency 1–6 s → <200 ms.
- ETL & analytics. BullMQ pipelines streaming clicks into ClickHouse (ReplacingMergeTree, monthly partitions); eliminated double-counting and cluster OOMs; real-time ROI / ROAS / CPA / EPC on bounded queries.
- Infrastructure automation. Provisioning pipelines over Cloudflare, Namecheap and Dynadot APIs with retries and rollback for 270+ sites and 470+ domains; migrated 219 live zones with zero downtime; brought a 250-site origin outage from load 125 down to 7.
- Security. Refresh-token rotation with reuse detection, RBAC with 60 permissions and audited overrides, AES-256-GCM field-level encryption.
- NestJSFastifyNuxtPostgreSQLDrizzleClickHouseRedisBullMQDocker
- Real-time. Scaled fault-tolerant WebSocket clusters serving 20,000+ concurrent players during peak sporting events.
- Performance. Slashed server response time by 40% through Redis caching, query plan optimization and PostgreSQL partitioning.
- Frontend. Spearheaded the migration to Nuxt 3 (Nitro), cutting First Contentful Paint by 35%.
- Node.jsRedisPostgreSQLWebSocketsNuxt 3
- Payments. Engineered a high-volume USDC/BTC payment gateway on strictly idempotent APIs — zero financial discrepancies or double payouts across retries and partial failures.
- Data. Optimized schemas and execution plans, accelerating BI transaction reporting by 60%.
- Node.jsPostgreSQLIdempotencyCrypto
- MVPs. Delivered 4 production-ready fullstack MVPs from scratch in tight cycles to validate seed-stage growth hypotheses.
- Real-time. Architected Socket.IO notification infrastructure for 5,000+ concurrent users.
- VueNode.jsMongoDBSocket.IO
Selected projects
AffSource— AI video & image creatives for media buyersFounder · in development
Prompt → ready ad creative → in-browser video editor → export. Runs self-hosted open-weight models (Wan 2.2, Qwen-Image) on rented GPUs instead of paid APIs, so each creative costs a fraction of the usual price. Batch hooks × GEOs × formats generation, live SSE progress, Web Worker export.
Nuxt 4 · Go · ComfyUI · Canvas · Web Workers · R2 + CDN
ORYX— USDT ledger the database enforces
Append-only double-entry journal guarded by Postgres constraint triggers: balanced at commit, UPDATE / DELETE / TRUNCATE locked out, key-based idempotency, 18-decimal precision.
NestJS · PostgreSQL · Drizzle
Ares-Nexus— Order-matching engine
Matching on Redis Sorted Sets backed by a PostgreSQL ledger. <50 ms order-to-UI and a 60 FPS PixiJS order book over throttled WebSockets.
NestJS · Redis · PostgreSQL · PixiJS
Ares-X & Fundory— Provably fair engine & Mini App
HMAC-SHA512 provably fair game engine at 60 FPS on mobile; Telegram Mini App with deduplicated BullMQ rewards, initData verification and automated TRON payouts.
Node.js · BullMQ · TronWeb · Telegram
Pulsarr— Ad tracker — Keitaro / Binom alternative
Go click server, NestJS API and ClickHouse reporting: campaign routing, postbacks and real-time stats.
Go · NestJS · ClickHouse · Redis
Contact
Hiring for a lead or senior fullstack role, or have a hard problem in payments, tracking or real-time data? Write to me — I usually reply within a day.