Mobile developer since 2017. I've built photo and video editors, a corporate finance app, e-commerce for a fashion retail chain, sports venue booking, an LLM chat, live esports stats, a media library synced across clouds, and a coloring app for kids.
I take apps from the first commit to the store release. I write native code in Swift, Objective-C, or Kotlin when React Native is not enough, move apps from native to React Native without stopping releases, and take over stalled or legacy codebases. I mentor developers and have worked with AI coding agents since 2025, mostly Claude Code and Cursor.
React NativeTypeScript · Expo · EAS · Expo Router · Reanimated · Skia · react-navigation · RTK Query · zustand · redux
iOSSwift · Objective-C · UIKit · Core Data · AVFoundation · Core Image · Core Graphics · Core ML · Vision · OpenCV · Mac Catalyst
AndroidKotlin · Java · android.graphics · TensorFlow
ProductRevenueCat · Firebase · AppMetrica · AppsFlyer · Apphud · Mindbox · AdMob
BackendFastAPI · NestJS · Docker · nginx · Caddy · GitLab CI
2026–Present
Shopping app for a fashion retail chain with hundreds of thousands of customers. The company had separate native iOS and Android apps; I replaced them with one React Native app in 4 months.
- Released it as an update to the existing apps, with user data carried over
- Moved from bare React Native CLI to Expo
- Kept the old native iOS app shipping updates during the rewrite
- Analytics and attribution (Firebase, AppMetrica, Mindbox), push notifications and deep links
React Native · Expo CNG · Reanimated · Skia · react-navigation · RTK Query
2025–2026
Coloring app for little kids, with ready-made pages and new ones that AI draws on a kid's request. I built it full-stack in 5 weeks: the app, the backend, and an analytics admin panel.
- Coloring engine on Skia in JS: flood-fill regions, a GPU canvas per zone, and custom shaders keep paint inside the lines
- Subscriptions, in-app purchases, and virtual currency on RevenueCat; parental controls
- Written and released by hand; now maintained and improved mostly with AI agents
AppReact Native · Expo · Expo Router · Reanimated · Skia · zustand · RevenueCat
BackendFastAPI · uv · Docker · Caddy · nginx · Gemini API
WebReact · Vite
2024–2025
One chat for many LLMs (ChatGPT, Gemini), plus image generation and editing (DALL·E, Imagen, Nano Banana). I joined to review the first team's code, then took the project over.
- Shipped iOS and Android in 2 months after taking over
- Streaming chat over SSE, which React Native's built-in fetch could not do, with a Reanimated UI
- Subscriptions, virtual currency, and in-app purchases on RevenueCat
- Analytics and attribution (Firebase, AppMetrica, AppsFlyer, Apphud, Meta Ads), push notifications and deep links
- Took on the NestJS backend too, deployed with GitLab CI
- Mentored a junior developer who joined later
Hardest problems: fast SSE streaming with Markdown rendering, and integrating many ad and analytics systems.
AppReact Native · Expo CNG · Reanimated · react-navigation · RTK · zustand
BackendNestJS · GitLab CI
2024–2025
Live stats and analytics for CS and Dota 2 matches.
- Built from scratch: chose the stack and the architecture, shipped iOS and Android in 2 months
- Match stats and charts on Victory Native
- Custom animations and transitions on Skia and Reanimated
- Monetization: our own banner system, AdMob, and bookmaker integrations with odds for each match
- Analytics (Firebase, Apphud, AppMetrica), push notifications, deep links
React Native · Expo CNG · Reanimated · Skia · Victory Native · zustand
2019–2023
Photo and video editor on React Native.
- Delivered the React Native app as an Xcode framework embedded in a native iOS social network app (brownfield)
- Brought the editor to Mac with Mac Catalyst
- Native iOS features on AVFoundation, Core Image, Core Graphics, Vision, and Core ML
- OpenCV graphics, Skia rendering and video export, back when react-native-skia did not exist
- Split the app into modules and repos, so native features could be tested and shipped on their own
- Ported the native iOS features to Android in Kotlin and Java (TensorFlow, android.graphics)
Hardest problem: fast video export with stickers, several video layers, text, and Lottie animations. It took shaders and effects written in SkSL.
React Native · native iOS / Android modules · OpenCV · Core ML / TensorFlow · Skia · redux · App Center
2017–2019
Business accounting: tracks financial operations and syncs them with counterparties. An internal app, not in public stores.
- Synced every transaction between clients, with most of the logic on the device
- iOS and Android while React Native was still raw: forked and fixed native code in many libraries
- Refactored the app for tablets
Hardest problem: keeping lists of up to hundreds of thousands of heavy records fast after FlatList and AsyncStorage gave up (it was 2017).
React Native · redux · redux-saga · react-navigation · Jest
2017
Find sports venues on a map and book them together with friends.
- Shipped iOS and Android in 3 months from the first commit
- Built around Expo's MapView, with Apple and Google Maps
- Over-the-air updates years before EAS, plus workarounds for early Expo
React Native · redux · Expo SDK 21
2017–2019
Native iOS app that stores and syncs photos and videos on your own cloud storage: Google Drive, Yandex Disk, OneDrive, Dropbox, SMB.
- Took over and refactored a legacy app of 50,000+ lines of Objective-C
- Synced tens of thousands of photos between clients and every cloud service above
- Designed a new API and moved the app onto it; wrote UI and behavior tests
Objective-C · Swift · UIKit · Core Data · CocoaPods