ANDREI_GAIVORONSKII

📍 Saint_Petersburg Swift_Objective-C ʕっ•ᴥ•ʔっ

Shipping iOS apps for health and AI startups. Love building intuitive experiences and getting products to users fast.

andrei@gaivoronskii.com GitHub
iOS Engineer • Swift • Objective-C • SwiftUI • UIKit • watchOS • Core Data • CloudKit • HealthKit • Core Motion • AVFoundation • Core Animation • Combine • Async/Await • XCTest • UI Testing • Xcode • TestFlight • App Store Connect • CI/CD • Git • MVVM • Localization • Push Notifications • Keychain • Security • Network Layer • REST APIs • JSON • Codable • UserDefaults • File Management • Design Patterns • Performance Optimization • Location Services • MapKit • In-App Purchases • StoreKit • Subscription Management • Analytics • Crash Reporting • Firebase • SwiftUI Animations • Camera Integration • Photo Library • Haptic Feedback • Dark Mode Support • Widgets • Universal Links • Deep Linking • Code Review

project_categories

• ADIA.AI
current — iOS engineering on AI products
• PERSONAL
apps I ship for learning and fun

apps_&_things ↓ ↓ ↓

Adia Copilot

The ultimate tool for healthcare professionals

App Store ↗

RUN - Running Club

Running tracker. Minimal UI, accurate stats

App Store ↗

about_&_skills

role
iOS engineer
languages
Swift, Objective-C
speaking
Russian, English
current
ADIA.AI — iOS engineering on AI products

previously

FLOW HEALTH
Mar 2022 — Mar 2024 · Engaged in multi-app iOS development, focusing on diverse healthcare solutions
#BESHENAYASUSHKA
Dec 2016 — Oct 2020 · Led the iOS app development, enhancing fitness and wellness experiences
LOUIS VUITTON
Sep 2011 — Jan 2015 · Oversaw sales operations, contributing to market growth and customer engagement
Swift: prefer value types; keep structs small & copy-cheap. Obj-C: add nullability and NS_SWIFT_NAME for nicer bridging. SwiftUI: @MainActor on models touching UI timelines. Performance: Instruments → Time Profiler before "optimizing". Startup: lazy heavy singletons; defer HealthKit auth. Combine: erase with AnyPublisher before crossing layers. Interop: tiny Obj-C shims for tricky C APIs. Debug: use os_signpost and points of interest in Instruments. Memory: weak self in closures; avoid retain cycles. SwiftUI: @StateObject for ownership; @ObservedObject for injection. Testing: XCTAssertThrowsError for proper error validation. Async: prefer async/await over completion handlers. Core Data: use NSBatchUpdateRequest for bulk operations. UIKit: prefer compositional layout over manual constraints. Build: use .xcconfig files for environment-specific settings. Networking: URLSession.shared is fine; custom sessions for specific needs. SwiftUI: .task modifier beats .onAppear for async work. Security: Keychain for tokens; UserDefaults for preferences only. Architecture: MVVM + Combine scales better than MVC in SwiftUI. Optimization: lazy var for expensive computed properties.