Real-time worlds that ship. I take architecture from a raw 3ds Max file all the way to a C++ pixel-streaming product running in a browser — building the runtime, the content pipeline, the interface and the optimization that makes it hold up in production. Equal parts engineer and artist: I write the systems and I light the scene. Real-time світи, які доходять до релізу. Я веду архітектуру від сирого файлу в 3ds Max до C++ pixel-streaming продукту в браузері — будую рантайм, контент-пайплайн, інтерфейс і оптимізацію, завдяки якій усе тримається в продакшені. Наполовину інженер, наполовину художник: пишу системи — і сам ставлю світло.
Commercial work is under NDA — the engineering behind it is in the case studies. Комерційні роботи під NDA — інженерія за ними описана в кейсах.
Systems I designed and built — described in generalized form (client names under NDA). Deep dives: case studies. Системи, які я спроєктував і збудував, — описані узагальнено (назви клієнтів під NDA). Детальніше — у кейсах.
Downloads and mounts .pak scenes over HTTP (ranged 64 MB downloads, If-Modified-Since caching, LRU eviction) and exposes full scene control — camera, lighting, actor transforms, saves/undo — via the WebRTC DataChannel. Завантажує і монтує .pak-сцени по HTTP (частинами по 64 МБ, кешування If-Modified-Since, LRU-витіснення) та дає повний контроль над сценою — камера, освітлення, трансформації акторів, збереження з undo — через WebRTC DataChannel.
Case study →Кейс →The gameplay layer of an in-development action game, built in C++ on the Gameplay Ability System. A custom Ability System Component and Attribute Set carry replicated combat attributes (health, attack/defense, damage) with a damage-execution calculation. Abilities and a custom montage-and-wait task run on an Enhanced Input + Full-Body IK character. Development paused at the start of the full-scale war. Геймплейний шар екшн-гри в розробці — на C++ поверх Gameplay Ability System. Власні Ability System Component і Attribute Set несуть репліковані бойові атрибути (здоров’я, атака/захист, шкода) з розрахунком damage-execution. Здібності та кастомний montage-and-wait таск працюють на персонажі з Enhanced Input і Full-Body IK. Розробку призупинено з початком повномасштабної війни.
Case study →Кейс →A reusable RPG dialogue and quest system in Blueprint: branching dialogue authored in Data Tables (options, regions, speaker states), several quest objective types (find, destroy, patrol, talk), quest tracking and an inventory UI (items, weight, currency), plus NPC, camera and footstep components — new content is data, not new graphs. Повторювана RPG-система діалогів і квестів на Blueprint: розгалужені діалоги в Data Tables (опції, регіони, стани персонажів), кілька типів квестових цілей (знайти, знищити, патруль, поговорити), трекінг квестів та інвентар-UI (предмети, вага, валюта), плюс компоненти NPC, камери й кроків — новий контент — це дані, а не нові графи.
One-run conversion of raw Datasmith exports into cooked, self-contained .pak levels: mesh deduplication, Nanite setup, master-material instancing, scene extraction into Data Assets, headless packaging via RunUAT. Перетворення сирого Datasmith-експорту на готові самодостатні .pak-рівні за один запуск: дедуплікація мешів, налаштування Nanite, заміна матеріалів на інстанси майстер-матеріалів, винесення сцени в Data Assets, headless-пакування через RunUAT.
Case study →Кейс →Artist-facing GUI + headless render-farm mode: scene cleanup, material baking, camera export — the entry point of the 3ds Max → Unreal content pipeline. Графічний інтерфейс для артистів + headless-режим для рендер-ферми: очищення сцени, запікання матеріалів, експорт камер — вхідна точка пайплайна 3ds Max → Unreal.
Case study →Кейс →Browser UIs that drive Unreal remotely: camera and lighting control, scene-state saves, real-time co-viewing, and an apartment-finder SPA with unit filters, 360° tours and a booking flow. Браузерні інтерфейси, що керують Unreal віддалено: контроль камери й освітлення, збереження станів сцени, спільний перегляд у реальному часі, а також SPA для підбору квартир — з фільтрами, 360°-турами та бронюванням.
Case study →Кейс →Beyond streaming — the product systems: a points-of-interest framework, orbit and first-person camera pawns, an ambient crowd system and spline-based traffic, and a lighting manager. Typed C++ modules configured through Data Assets, so a new deployment is set up, not re-coded. Поза стрімінгом — продуктові системи: фреймворк точок інтересу, орбітальна камера і камера від першої особи, фонова crowd-система і трафік по сплайнах, менеджер освітлення. Типізовані C++ модулі, налаштовувані через Data Assets, — новий деплой конфігурується, а не переписується.
Case study →Кейс →A suite of Python editor scripts that run "optimization waves" over finished scenes: Nanite trimming, batch texture optimization to budget, Nanite-on-glass fixes, GC/memory reports — repeatable passes with measurable results instead of hand-tuning. Набір Python-скриптів редактора, що проганяють «хвилі оптимізації» по готових сценах: підрізання Nanite, пакетна оптимізація текстур до бюджету, фікси Nanite на склі, GC/memory-звіти — повторювані прогони з вимірюваним результатом замість ручного тюнінгу.
Case study →Кейс →A personal, headset-agnostic VR tour: OpenXR for Quest and PC VR, physics prop interaction, time-of-day and weather control, comfort locomotion — photoreal within standalone limits. Published openly on Behance. Особистий VR-тур, незалежний від шолома: OpenXR для Quest і PC VR, фізична взаємодія з предметами, керування часом доби й погодою, комфортне переміщення — фотореалізм у межах автономного заліза. Опубліковано відкрито на Behance.
Case study →Кейс →Solo-built and shipped: status monitoring for 77 AI services, news aggregation with an affinity ranker, MCP-server directory. 437 pages, 90 API routes, ~1,100 unit tests gating CI — designed, built and launched end to end by one person. Задум, розробка і запуск — повністю мої: моніторинг статусу 77 AI-сервісів, агрегатор новин з ранжуванням за інтересами, каталог MCP-серверів. 437 сторінок, 90 API-роутів, ~1100 юніт-тестів у CI — спроєктовано, збудовано й запущено від початку до кінця однією людиною.
Case study →Кейс →Self-hosted Perforce with streams for all UE work, custom engine builds from UE source, and headless render/cook/package pipelines. Solo, but with a studio's reproducibility — versioned binaries, a rebuildable engine, automated pipelines. Власний Perforce зі стрімами для всієї UE-роботи, збірки движка з сирців UE, headless-пайплайни рендера/куку/пакування. Соло — але з відтворюваністю студії: версійовані бінарники, движок, який можна перезібрати, автоматизовані пайплайни.
Case study →Кейс →From a raw 3ds Max / CAD file to a real-time product a client opens in a browser — the whole chain, owned end to end. Від сирого файлу 3ds Max / CAD до real-time продукту, який клієнт відкриває в браузері — увесь ланцюг, який я веду сам.
Raw client geometry, as delivered.Сира геометрія клієнта, як є.
pymxs / PySide: scene cleanup, material baking, cameras — plus a headless render-farm mode.pymxs / PySide: чистка сцени, бейк матеріалів, камери — плюс headless-режим для рендер-ферми.
Datasmith import → mesh dedup · Nanite · master-material instancing · scene extracted into Data Assets · RunUAT → cooked .pak.Datasmith-імпорт → dedup мешів · Nanite · інстансинг майстер-матеріалів · сцена в Data Assets · RunUAT → cooked .pak.
Pixel Streaming over WebRTC · ranged .pak download & mount · POI / crowd / traffic systems · save & undo.Pixel Streaming через WebRTC · ranged-завантаження й монтування .pak · системи POI / натовп / трафік · збереження й undo.
A React / TypeScript UI drives the stream: camera, lighting, variants, booking.React / TypeScript інтерфейс керує стрімом: камера, світло, варіанти, бронювання.
Every stage is documented and reusable — a new deployment is configured, not re-coded. Full write-ups in the case studies. Кожен етап задокументований і повторюваний — нове розгортання налаштовується, а не переписується. Повні розбори — у кейсах.
Blueprints, C++, UMG / Slate, Material Editor, Niagara, Sequencer, Datasmith, Nanite, Lumen, World Partition, Gameplay Ability System (GAS), Enhanced Input, custom source builds
Actor/component/subsystem design, Gameplay Ability System (replicated attributes, abilities, damage execution), custom plugins (runtime + editor modules), data-driven systems, reflection & Blueprint exposure, memory/GC awareness
UMG, runtime photo mode, input-agnostic interaction (pointer / touch / VR), HUD & menu systems, web-driven UI over the engine
MetaHuman + Live Link, Animation Blueprints, Sequencer cinematics, Control Rig basics, VR via OpenXR (Meta Quest), comfort locomotion, physics interaction
Houdini (RBD / destruction / sims, HDA, VEX), Houdini Engine live-cook, Niagara, procedural workflows, shading, lighting, level design
Nanite / Lumen, master materials, draw-call reduction, texture/lighting budgets, profiling, stable-FPS tuning for desktop / web / standalone VR
Python (UE, pymxs, PySide), headless RunUAT packaging, Datasmith automation, Perforce & Git, CI (GitHub Actions), self-hosted infra, AI-assisted tooling (Claude Code, MCP)
TypeScript, React / Next.js, Astro, WebRTC integration, Cloudflare Pages / Workers / KV, self-rolled auth
3ds Max, V-Ray / Corona, After Effects, Nuke, DaVinci Resolve — modeling, texturing, editing, grading, compositing, tracking, keying
From a 3ds Max scene to a C++ runtime to the web UI on top — I can carry a feature across the whole stack without waiting for hand-offs. Від сцени в 3ds Max до C++ рантайму і веб-інтерфейсу поверх — веду фічу через весь стек, не чекаючи передач між ролями.
An eye trained by years of lighting, materials and post-production — combined with production C++, Blueprints and Python. Rare on either side of the fence. Око, натреноване роками світла, матеріалів і пост-продакшену, — у поєднанні з продакшн C++, Blueprints і Python. Рідкість і серед художників, і серед інженерів.
Years of Blueprints production first; C++ became a daily tool in 2024-2025 — and grew into a production C++ plugin framework. I say openly what I don't know yet — and then I learn it. Спершу роки продакшену на Blueprints; C++ став щоденним інструментом у 2024-2025 — і виріс у продакшн C++ фреймворк-плагін. Відкрито кажу, чого ще не знаю, — і потім вивчаю.
Architecture docs, artist manuals and protocol specs are part of my definition of done — 15+ documents shipped with the last platform. Years between architects, artists and developers taught me to translate between art and engineering; strong written English, async-friendly. Архітектурні документи, мануали для артистів і специфікації протоколів — частина мого "done": 15+ документів разом з останньою платформою. Роки між архітекторами, художниками й розробниками навчили перекладати між артом та інженерією; сильна письмова англійська, комфортний async.
Not demos — products that run in front of real clients: stable FPS, deterministic scene teardown, tagged stable releases. I care about the last 10% that makes something usable, not just impressive. Не демо — продукти, що працюють перед реальними клієнтами: стабільний FPS, детермінований teardown сцен, теговані стабільні релізи. Мені важливі останні 10%, що роблять річ придатною до роботи, а не лише ефектною.
My work is used by non-technical people — buyers, architects, sales managers. I design so a first-time user gets it without a manual, and I've watched what actually converts a viewer into a lead. Моїми продуктами користуються нетехнічні люди — покупці, архітектори, менеджери з продажів. Проєктую так, щоб новачок розібрався без інструкції, — і я на практиці бачив, що саме перетворює глядача на ліда.
I'm an Unreal Engine developer and technical artist based in Kyiv. For the last five years Unreal has been the center of my work: I build interactive architectural tours, VR experiences and product configurators, plus the cloud pixel-streaming technology that runs them — working across C++, Blueprints, UMG, Niagara and Python. That's where I'm headed, and where I want to go deeper. Я Unreal Engine розробник і technical artist з Києва. Останні п’ять років Unreal — центр моєї роботи: будую інтерактивні архітектурні тури, VR-досвіди та продуктові конфігуратори, а також хмарну pixel-streaming технологію, що їх запускає, — на C++, Blueprints, UMG, Niagara і Python. Саме сюди я рухаюся і хочу заглиблюватися далі.
I got here the long way, and it's my advantage. Eight years in CGI — starting in post-production and motion design, then interior and exterior visualization — trained an eye most engineers don't have: lighting, materials, composition, timing. That craft is now a plus on top of the engineering, not the job itself. When I optimize a scene or write a shader, I already know what it's supposed to look like. Я прийшов сюди довгим шляхом, і це моя перевага. Вісім років у CGI — почав з пост-продакшену й моушн-дизайну, далі візуалізація інтер’єрів та екстер’єрів — натренували око, якого немає в більшості інженерів: світло, матеріали, композиція, таймінг. Це ремесло тепер плюс поверх інженерії, а не сама робота. Коли я оптимізую сцену чи пишу шейдер, я вже знаю, як воно має виглядати.
I like owning a feature end-to-end — environment and lighting, interaction logic, UI, optimization and the pipeline tooling underneath — and I work the way a good studio does even solo: versioned in Perforce, engine built from source, everything documented. I also ship personal products (prismix.dev). Люблю вести фічу від початку до кінця — оточення й світло, логіка взаємодії, інтерфейс, оптимізація і пайплайн-інструменти під усім цим — і працюю так, як хороша студія, навіть соло: версіювання в Perforce, движок з сирців, усе задокументовано. Також запускаю власні продукти (prismix.dev).
Looking for an Unreal Engine / Technical Artist role, remote — a team where I can go deep on real-time systems and keep growing on the C++ side. Шукаю позицію Unreal Engine / Technical Artist, remote — команду, де можу заглибитися в real-time системи й рости далі на боці C++.