Overview

I'm a software engineer with experience in working with iOS, Computer Graphics and Machine Learning Integration and a passion for creating impactful applications for users. I'm obsessed with solving challenging and interesting problems.

Skills

  • Rust, Metal, Vulkan, Swift, iOS
  • Teamwork, communication, collaboration, project ownership, responsibility

Professional Status

Holder of a UK Global Talent Visa, authorizing work in the United Kingdom.

Education

Belarusian National Technical University | Minsk, Belarus

2012 – 2017

  • Relay Protection and Automation of Electrical Power Systems.

Academy of Postgraduate Education | Minsk, Belarus

2015 – 2017

  • Professional Communication (English).

Experience

Principal Software Engineer, Mirai

https://trymirai.com

Dec 2024 – Present · London, England

At Mirai, I'm responsible for the design and development of uzu — our open-source, high-performance on-device LLM inference engine written in Rust and Metal — leveraging my experience with low-level optimization, GPU programming, and ML.

  • GPU Compute & Matmul Engine: designed and built the Metal compute backend at the core of the engine, including GEMM / GEMV matrix-multiplication kernels with split-K reduction, simdgroup-matrix (MXU) acceleration, and tuned tiling and vectorized-loading heuristics for both prefill and decode.

  • Low-Bit Quantization: implemented quantized matmul (QMM) supporting 4- and 8-bit weights with scale-bias, scale-zero-point, and symmetric quantization schemes, and integrated the Random Hadamard Transform (RHT) for accuracy-preserving low-bit inference.

  • Kernel DSL & Compute-Graph Generalization: co-designed a build-time DSL a successor of mtlswift that code-generates and specializes Metal kernels and generalized the engine's encodable compute blocks.

  • Profiling & Benchmarking: built GPU tracing and Metal-analysis tooling along with a cross-device benchmarking harness, profiling and tuning token throughput (prefill / decode) across Apple silicon (M1–M4, A18 Pro) and iOS.

Principal Software Engineer, ZERO10

https://zero10.ar

Aug 2021 – Dec 2024 · London, England

At ZER010, I used my experience in Swift and Metal programming to work on the core of the real-time digital try-on technology of the ZERO10 app.

  • Rendering Engine Development: led development of the Metal rendering engine with the following features: PBR, MSAA, OIT, SSAO, Tessellation, Inpainting, Video Textures, SceneKit-like shader modifiers.

  • Cloth Physics Engine Development: played a crucial role in developing Metal cloth physics simulation that runs on the iPhone's real-time.

  • Core App Performance Optimization: utilized IOSurfaces, page-aligned shared memory, Metal Argument Buffers, Tile Memory, Matrix Decomposition and other instruments to significantly increase the try-on pipeline performance and solve the overheating problem.

  • Machine Learning Integration: worked in a tight collaboration with RnD team and led the body tracking and segmentation models integration: converted Pytorch models to CoreML, profiled the models performance, suggested replacing certain layers to be more Neural Engine friendly, suggested switching to MLMultiArray input / output to reduce memory traffic.

  • Tooling: developed and maintained a set of internal tools for the ML team, 3D designers as well as marketing team, which led to an increase in the speed of delivering new garments, app improvements, and testing: Internal Garments Design Tool, Photo Try-On & Video Try-On Tools, CLI Tools.

Software Engineer, Prisma Labs

https://prisma-ai.com

May 2018 – Aug 2021 · Moscow, Russia

At Prisma, my role was to make a synergistic collaboration with both UI and RnD teams to solve lots of image processing-related tasks while working on Lensa and Prisma apps.

  • Image Processing Pipeline Development: led the development of the Metal image processing and rendering engine, which included Face Retouching, Inpainting, Face-Aware Morphing, DOF Effects, Background Replacement, LUTs, Node-Based Filters and Effects, etc.

  • Core App Performance Optimization: utilized Metal, ARM NEON, Accelerate, Cache-Friendly Memory Layout, etc., to significantly enhance the efficiency and performance of the core app functionalities. Implemented the real-time Frequency Separation Retouch that worked on the phone w/o overheating.

  • Machine Learning Integration: developed and maintained Smelter - ONNX inference engine backed by Metal Performance Shaders that allowed to avoid redundant CPU - GPU syncs. Worked in collaboration with the RnD team to achieve smooth ML integration and suggested switching to YUV color space to improve the performance.

  • Tooling: developed and maintained internal tools for the ML and designers teams, which increased the speed of delivering new image effects: Node Graph Visual Editing Tool, CLI Tools.

Software Engineer, Taqtile

https://taqtile.com

Feb 2017 – May 2018 · Minsk, Belarus

At Taqtile, I was responsible for the design and implementation of the iOS version of the company's main product, Manifest.

  • AR Experience Development: led the development of the AR experience using ARKit, SceneKit, and Metal

  • Tooling and Prototyping: led the research and development in the field of AR and 3D (3D Model Optimisation, ARKit + Geolocation, Pointcloud Mesh Reconstruction).

Open Source Projects

https://github.com/eugenebokhan

uzu

A high-performance on-device LLM inference engine written in Rust and Metal, built at Mirai to run models locally on Apple silicon with zero latency and full data privacy. I built its Metal compute backend — quantized matmul kernels, the kernel DSL, and the benchmarking tooling.

Metal Analyzer

A Metal Shading Language language server (LSP) for VS Code, Cursor, Zed, and IntelliJ, offering real-time diagnostics via xcrun metal, auto-completion, hover documentation, and clang-format-based formatting.

ANE

Rust bindings for the Apple Neural Engine via the private AppleNeuralEngine.framework, providing a graph builder and compilation pipeline with zero-copy IOSurface-backed I/O.

mtl-rs

Rust bindings for Apple's Metal API, built on the modern objc2 ecosystem with coverage of the latest Metal 4 API.

mpsgraph-rs

Modern Rust bindings for Apple's Metal Performance Shaders Graph framework, exposing a high-level, type-safe graph API for defining and running neural networks on the GPU.

Metal Tools

MetalTools provides a convenient, Swifty way of working with Metal. This library contains a lot of read-to-use compute kernels and is heavily used in computer vision startups like Prisma and ZERO10.

Shared Graphics Tools

A set of tools and extensions that allow sharing page-aligned memory allocation between different graphics APIs and provide view interop for them.

CoreVideoTools

CoreVideoTools offers a more idiomatic Swift interface to CoreVideo functionality, making it easier and safer to work with CVPixelBuffers, IOSurfaces, and related CoreVideo concepts in Swift code.

Smelter

Overhead-free ONNX graph inference engine with Metal Performance Shaders under the hood.

WGPUTools

A Rust library providing utility functions and abstractions for working with WGPU.

Community Contribution

Introduction To Metal Compute

A set of tutorials describing how to build an image-processing Metal iOS app from scratch.