Kiryl Yemelyanenka

Senior iOS engineer. I build the layer other engineers build on.

Swift, Metal, and 12 years of shipping — San Jose, CA.

scroll

Construction tech · drone surveying

2,000,000 points of interest at 60 fps

A construction-tech startup audits build progress against drone surveys. Site engineers needed the result — every pile, trench, and cable run with its current status — on a phone they could hold standing in the dirt. A large site carries millions of surveyed objects.

The budget ruled out server-side tiling. The phone got heavy GeoJSON and had to cope on its own.

I designed and built the iOS app. I rewrote the parsing path so geometry streamed into Mapbox layers without intermediate models, and profiled until the full dataset panned smoothly with no memory spikes. I defined the data contract with the backend team. I built messaging on sockets and APNS so field crews could talk without leaving the map.

Schematic of the field app's map screen: columns of survey markers with install status inside a site boundary Schematic of the status sheet: choosing between surveyed and installed states over a dimmed site map

2,000,000points of interest on one live map, zero performance degradation

Swift · Mapbox · GeoJSON · WebSockets · APNS

Global retail · 2024–present

The platform layer at a Fortune-1 retailer

The retailer's B2B commerce app is one iOS codebase built by many teams at once. The expensive failures don't live inside any single feature — they live at the boundaries, where a change in one team's plugin blocks another team's merge.

At that scale you don't fix boundaries with meetings. You fix them with architecture.

I work on the plugin boundaries. I replaced heavy cross-module coupling with a small open API, kept feature logic contained in its own plugin, and split PRs so each piece lands with the one team that owns it. My features ride that structure: an approvals experience owned end to end, a GraphQL layer delivered from scratch inside a tight window, an Apple Pay integration built to production wallet guidelines in 3 days. For a driver-facing delivery app I took a vague requirement, proposed a better UX, and validated it in the field with live data.

I also built an agent-orchestration platform used daily by hundreds of engineers at a Fortune-1 retailer. It reads a ticket, sets up the environment, spawns an agent per stage, and tracks the parallel sessions, so engineers ship several changes at once instead of babysitting one build through CI. I lead its feature team and keep the R&D for myself.

+6%successful order acceptance after the delivery UX rework

Swift · plugin architecture · GraphQL · Apple Pay · TypeScript · Claude SDK

US online brokerage · 2018–2020

Picture-in-Picture before iOS shipped it

Pro traders watch live financial news while they watch their positions. In 2018 the iPhone had no picture-in-picture — iOS 14 was two years away.

The video had to keep playing over screens streaming live market data, without stuttering either one.

On a 13-engineer iOS team I built a reusable AVKit component that floated the news stream over the app, then hardened it into a library other screens could adopt. I led the UI refactor that gave the whole app theme support, backed by a custom theme library. I rebuilt legacy Objective-C UI libraries as reusable Swift components and wrote fast market-data streaming modules underneath them.

Schematic of the options-chain screen: calls and puts in a dense table around a highlighted strike column Schematic of the futures depth ladder: bid and ask bars stepping around a central price column

2 yearsahead of the iPhone's native picture-in-picture

Swift · Objective-C · AVKit · WebSockets · CoreData

Surgical nonprofit · volunteer · 2021–2023

Medical records where the network never comes back

A surgical ministry operates in Pucallpa, Peru. Patient records live on a fleet of iPads in a facility with no internet — not slow internet, none, and no fallback coming.

Devices drift apart for months between sync windows. A bad merge isn't a UI glitch there; it's a wrong medical record.

I supported and extended the offline-first records system and built the SQL-based sync server that reconciles the fleet. The merge logic is written for life-critical correctness: month-scale windows, multi-device conflicts, no tolerance for eventual-consistency drift. When the project needed more hands than mine, I went and found the developers myself.

Schematic of the patient card on iPad: demographics, visit timeline, and an alerts banner Schematic of the patient location screen: contact fields above a map with a pinned location

0drift tolerated across month-scale offline windows

Swift · SQLite · CoreData · MapKit

Dutch grocery leader · 2015–2020

8,000 tests, zero bugs

I worked on the flagship app of the largest grocery chain in the Netherlands. The team ran a zero-bug policy: nothing known-broken ships, ever.

A policy like that lives or dies on its test suite.

I maintained the 8,000-test suite — unit and snapshot — that made the team's policy workable, and kept it green while shipping my own features: a large webview screen rebuilt as native dynamic components, a legacy Objective-C geolocation module rewritten as a reusable Swift one. The instinct came from 3 years in test automation before iOS, where I cut a major suite's runtime 20× through parallelization and ran sessions for Google's mobile automation team.

Schematic of the grocery app home screen: deal tiles, loyalty stamps, and produce cards Schematic of the recipes tab: search field, category circles, and a weekly menu card

8,000unit and snapshot tests, kept green

Swift · XCTest · SnapKit · Appium · Selenium


Off-hours work. Same instinct, no roadmap.

360° spherical video editor in progress

A Metal pipeline for 360° footage: custom vertex and fragment shaders for equirectangular projection, compute kernels for frame transforms, manual MTLBuffer and MTLTexture management. The hero on this page is the same projection math run backwards — a sphere flattened onto your screen instead of a frame wrapped onto a sphere.

Metal · MSL · AVFoundation · Swift

Local LLM inference rig

Before cloud coding assistants were allowed inside the data perimeter, I wanted one anyway. So I wired a Mac Mini to my laptop over Thunderbolt and served models locally. It still runs quantized Qwen, Gemma, and GLM today — a cheap education in quantization, throughput, and memory ceilings.

Ollama · MLX · LM Studio

FPV drones

I solder and fly FPV quadcopters, and I'm a member of a national federation of unmanned aviation. Radio links, video links, and power systems are the same engineering as software — just less forgiving of bugs.

FPV · UAV · soldering iron

3D printing & a movie-night app

The printer turns out drone parts and household fixes. The movie-night app picks what to watch by vote, phone to phone over multipeer — fully native, no server anywhere.

MultipeerConnectivity · SwiftData · SwiftUI



iOS engineer with a hardware habit. I started in test automation, spent 3 years breaking mobile apps, and crossed over to building them on the same trading-platform account. Since then the work has run wide: a brokerage, the largest grocery app in the Netherlands, meal delivery in Dubai, offline medical records in Peru, and now the platform layer of a Fortune-1 retailer's commerce app. The thread through all of it hasn't changed — I build the layer other engineers build on: plugin boundaries, shared components, the APIs a team stands on. When I'm not writing Swift, I'm writing shader code, soldering quadcopters, or running a 3D printer.