Projects

Collection of iOS, macOS, and web applications I've developed throughout my career. Each project represents different technologies, challenges, and learning experiences.

2025 - 2026
AIProductivity

Hooh — AI-powered document management iOS app. Users can upload documents and interact with them through a real-time AI chat interface for analysis, summarization, and Q&A.

Technical info:

  • Written in Swift, UIKit-based architecture with SwiftUI components
  • MVP + Combine — presenters expose @Published state, views observe via Combine
  • Real-time streaming chat via custom SSEClient (Server-Sent Events) using AsyncThrowingStream
  • Moya + Alamofire networking with token refresh middleware and plugin-based interceptors
  • CoreData for local persistence, document versioning, and search filters
  • PDFKit and custom PDF editor Swift Package — annotations, form filling, signatures, page management
  • Voice input via AVAudioEngine with Deepgram API for speech-to-text transcription
  • RevenueCat + StoreKit for subscriptions, paywalls, and upload quota enforcement
  • Auth0 (OAuth 2.0) for authentication
  • Analytics: PostHog (feature flags, session replay), AppsFlyer (attribution), TikTok Business SDK
  • Localization via Lokalise with .xcstrings string catalogs
  • Deployment target: iOS 18.0+

CI/CD & Workflow:

  • Xcode Cloud for continuous integration and delivery — separate workflows for Development, Staging, and Production targets
  • Code reviews and pull requests via GitHub

AI-assisted development:

  • UI implemented directly from Figma designs using MCP and Claude Code — designs translated to production SwiftUI/UIKit code
Hooh Home
1 / 8
Hooh on the App Store

August 2023 - December 2025
E-commerceShopping

VistaPrint — e-commerce iOS app for ordering custom printed products. Users browse a product catalog, customize designs in an integrated editor, and place orders with Braintree and PayPal payments.

Technical info:

  • Written in Swift, UIKit-based with SwiftUI components
  • MVP + DataProvider architecture — presenters manage business logic, typed data providers handle fetching and caching
  • 37 local CocoaPods modules for feature isolation (Editor, Gallery, ProductPage, VistaCart, Storage, Networking, etc.)
  • Moya + Alamofire networking with custom NetworkingProvider and response caching layer
  • CoreData + custom Storage module with EasyMapping for data persistence
  • Advanced design editor — SVG rendering, background removal, image filters, color extraction, interactive zoom and transform gestures
  • Braintree + PayPal for payments, cart and checkout flow
  • Auth0 (AppAuth) for authentication
  • Firebase Remote Config + A/B testing, Segment for analytics
  • SDWebImage for image loading/caching, SkeletonView for loading states
  • SwiftLint with custom rule configuration across all modules
  • Deployment target: iOS 18.0+

CI/CD & Workflow:

  • GitLab CI with parallel test stages — unit tests, snapshot tests, UI tests, smoke tests, and full test suite on release branches
  • Fastlane for build automation, versioning, TestFlight distribution, and Slack notifications
  • S3 artifact storage with CloudFront invalidation on deploy

My role:

  • Product page — preview images, pricing, discounts, color swatches, size/quantity/material variations
  • Design editor image capabilities — replacement, cropping, hue/saturation/lightness sliders, filters, color extraction
  • Account screen with web view integration and links to cart, orders, support
  • Unit test coverage for core modules, localization with string catalogs, logging system
VistaPrint Product Page
1 / 3

February 2022 - August 2023
Design Tools

VistaCreate — professional design and creative content creation iOS app. Users work with thousands of templates, add images, text, shapes and audio, and export designs in multiple formats.

Technical info:

  • Written in Swift, UIKit-based with SwiftUI components; Metal for graphics rendering
  • MVP/VIPER hybrid — Router-based navigation, Presenter classes for business logic, ViewControllers as the view layer
  • 21 development CocoaPods modules — HomeModule, OnboardingModule, BillingService, CremUI, Music.TrimmablePlayer, BlackBox, and more (177 pods total)
  • Moya + Alamofire networking with custom Networking module and APICache for response caching
  • CoreData for local persistence with custom context management and undo/redo support
  • Full-featured design editor — layers, text, SVG rendering, filters, transparency, color editing, background removal
  • Audio editing via AVFoundation with custom TrimmablePlayer and histogram visualization
  • StoreKit + custom BillingService module for subscriptions and in-app purchases
  • Firebase — Analytics, Crashlytics, RemoteConfig, A/B testing, DynamicLinks, Push Notifications
  • AppsFlyer for attribution, Iterable for marketing automation, Facebook SDK for social
  • Auth0 for authentication, R.swift for type-safe resources
  • Lokalise localization with 25 languages supported
  • Deployment target: iOS 15.0+, iPhone and iPad supported

CI/CD & Workflow:

  • GitLab CI with Development and Full test plans, JUnit reporting, IPA builds uploaded to S3 via CloudFront
  • Fastlane for TestFlight releases, version management, dSYM uploads, and Lokalise sync

My role:

  • Unit tests with XCTest to cover app business logic
  • Modular architecture using Private Pods and Development Pods
  • Analytics event logging — Firebase, AppsFlyer, Iterable
  • A/B tests via Firebase for onboarding and retention experiments
  • Home screen with caching and data loading via Swift Concurrency
  • Onboarding screens with pagination and paywall
  • SwiftUI slider component for background removal/restoration
  • Design export UI and logic across multiple formats
VistaCreate Home Screen
1 / 6

March 2020 - January 2022
Social

Clowder — white-label community and event management platform. The Core iOS app is cloned and customized for 50+ organizations, providing event management, community forums, real-time chat, news feeds, resource libraries, and QR-based networking.

Technical info:

  • Written in Swift, UIKit-based architecture
  • MVVM + Interactor — Interactors handle business logic, DataProviders fetch and cache, ViewControllers as the view layer
  • 16 internal frameworks — CLFoundation, CLBackend, CLServices, CLUIKit, CLAnalytics, CLAdvertisement, CLQRCodeSharing, CLPayments, and more
  • Alamofire 5 + proprietary PXRESTRequest for REST API abstraction; PromiseKit for async operations
  • Proprietary PXChat + Chatto for real-time messaging
  • Kingfisher for image caching, Eureka for form building
  • Push notifications via proprietary PXPush and AppCenter for crash reporting
  • Amplitude for analytics, KeychainAccess for secure credential storage
  • QR code generation and scanning for digital membership cards
  • Calendar integration, location-based "near me" discovery, rich HTML rendering via DTCoreText
  • SwiftGen for type-safe resources, Sourcery for code generation, SwiftLint + SwiftFormat for code quality
  • Deployment target: iOS 13.0+, iPhone and iPad supported

CI/CD & Workflow:

  • GitLab CI — SwiftLint gate, IPA build, AppCenter for QA, TestFlight for staging, App Store for production
  • Fastlane for build automation, versioning, and TestFlight distribution; YouTrack integration for automatic issue status updates
  • GitFlow branching — develop, feature, release, hotfix, and deploy branches

My role:

  • Create clones of the Core product and customize them per client (enable/disable modules, custom fields, branding)
  • Support 50+ existing apps and update them to the latest Core version
  • Propose and implement changes to the Core product
  • Resolve merge conflicts and maintain GitFlow discipline across a large multi-repo setup
Clowder Chat
1 / 3

February 2021
SportsVideo

CoachNow — coaching and training management platform for coaches and athletes. Users share training posts, videos, and media in dedicated training spaces, communicate through comments and replies, and manage athlete connections.

Technical info:

  • Objective-C + Swift hybrid codebase (~688 source files) — legacy Objective-C foundation with Swift components added incrementally
  • MVC with Service Layer — manager/helper classes (EDFNetworkClient, EDFSyncManager, EDFAccountUpdater) handle business logic alongside UIViewControllers
  • RestKit for REST API communication with automatic Core Data object mapping and bi-directional sync
  • CoreData (SQLite) for offline-first persistence with migration manager and RestKit integration
  • Video capture via custom NextLevel framework, video trimming (PryntTrimmerView), playback, and batch export to AWS S3
  • Stripe for payment processing and subscription management
  • Firebase Crashlytics + Performance; Segment + AppsFlyer for analytics
  • Intercom for in-app customer support messaging
  • Facebook SDK for social login, OTP phone verification, OAuth2 token-based auth
  • PureLayout for programmatic Auto Layout, SDWebImage for image caching
  • Deployment target: iOS 12.0+, iPhone and iPad supported

My role:

  • Support the app and add new features to the mixed Objective-C / Swift codebase
  • Rewrite legacy Objective-C code to Swift
  • Make code reviews and publish releases to TestFlight and the App Store
  • Implement screen recording with ReplayKit framework
  • Maintain dependencies and manage the CocoaPods setup
CoachNow Video Playback

November 2019
Game

Solitaire (Classic) — competitive solitaire card game where users play for cash prizes through tournaments, head-to-head matches, and daily challenges, powered by the PROVEIT platform.

Technical info:

  • Written in Swift, Storyboard-based UIKit architecture (~343 source files)
  • MVC/MVVM hybrid — struct-based models, custom ViewController base class, singleton managers (Store, CurrentGame, UserData)
  • Custom game engine — CALayer-based card rendering, undo/redo with move history, score calculation with time bonuses, game state snapshots
  • ProveItSDK — internal SDK namespace abstracting tournament system, multiplayer matchmaking, leaderboards, and real-money transactions
  • 4 build targets — localhost, sandbox, staging, production — each with its own Info.plist configuration
  • Alamofire networking with AES-encrypted JSON API communication via custom Decrypter layer
  • In-App Purchases (StoreKit) + Google AdMob for monetization
  • SwiftLocation for state-based gameplay compliance and location verification
  • Analytics: Firebase, Mixpanel, AppsFlyer; crash reporting via Fabric/Crashlytics
  • Facebook SDK for social login; RNCryptor (AES) + SAMKeychain for secure storage
  • Push notifications, jailbreak detection, device fingerprinting
  • Deployment target: iOS 10.0+, iPhone and iPad supported

My role:

  • Design app architecture and build from scratch
  • Implement the networking layer with REST API and encrypted communication
  • Pull requests and code reviews
Solitaire Game
1 / 4

June 2019
Shopping

Look Up — iOS shopping assistant for searching products, comparing prices across stores, tracking receipts, and managing shared shopping lists. Built for the Saudi market (SAR pricing).

Technical info:

  • Written in Swift, Storyboard-based UIKit (13 storyboards, 177 source files)
  • MVC + DataSource pattern — explicit DataSource classes for collection/table views, singleton Managers for shared state
  • Multi-window architecture — separate windows for left menu and right filter panel with animated transitions
  • Alamofire + AlamofireImage for networking and image caching; token-based auth via X-Device-Token stored in Keychain
  • Marshal for bidirectional JSON ↔ Swift struct serialization
  • Receipt management — local JPEG storage (UUID-named), pending/processed state tracking, image upload pipeline
  • CoreLocation for store-based proximity filtering
  • Phone number verification login flow, shopping list sharing via unique identifiers
  • Two build targets — localhost and production with conditional API endpoints
  • Deployment target: iOS 13.1+, iPhone and iPad supported
Look Up Search Results
1 / 4

March 2017
Gaming

PROVEIT — real-money gaming platform where users compete in trivia, head-to-head challenges, daily tournaments, and 8 skill-based arcade games (Solitaire, Tetris, Flappy Bird, Connect Dots, and more) for cash prizes. Featured in TechCrunch.

Technical info:

  • Written in Swift, Storyboard/XIB-based UIKit architecture (~624 source files)
  • MVC with singleton managers (UserManager, GameManager, TournamentManager) and struct-based models via Marshal JSON serialization
  • 8 arcade games — SpriteKit-based engines (Second Side RPG with physics, Smashy Bricks, Solitaire, Tetris, Block Star, Connect Dots, Flappy Bird, Number Tile)
  • Alamofire networking with RNCryptor AES-encrypted request/response layer, Router enum pattern with 100+ API endpoints
  • 4 build configurations — localhost, sandbox, staging, production — each with own API endpoints, security keys, and feature flags
  • In-App Purchases (StoreKit) with server-side receipt validation and duplicate order detection
  • Facebook SDK for social login; SAMKeychain for secure token storage
  • Location-based compliance for state-level gambling restrictions
  • Analytics: Firebase, Mixpanel, AppsFlyer; crash reporting via Fabric/Crashlytics
  • Apple Pay, Push Notifications, victory video recording

My role:

  • Design app architecture and build from scratch
  • Implement the networking layer with REST API and AES-encrypted communication
  • Build 8 arcade game integrations with tournament and matchmaking systems
  • Implement real-money transaction flow with In-App Purchases and withdrawals
  • Pull requests and code reviews
Proveit Arcade 1
1 / 6

July 2016
Productivity

Chronograph — in-house Pomodoro timer and task management app (App Dev Academy) that tracks work intervals with configurable work/break cycles, manages tasks with due dates, and syncs data across devices. Shares codebase with the macOS version.

Technical info:

  • Written in Swift, Storyboard-based UIKit architecture (~164 shared + platform-specific source files)
  • Custom generic StateMachine<T> for timer state transitions — Pomodoro cycles (work → short break → long break) with willChangeState/didChangeState callbacks
  • Core Data persistence — Task and Interval entities with soft deletion and local change tracking for sync
  • Alamofire networking with Router enum pattern — API clients for auth, tasks, intervals, users, and subscriptions
  • SynchronizationManager — bi-directional sync with backend, queued export/import, periodic background sync with concurrency guards
  • Facebook SDK + email/password auth; SAMKeychain for token storage
  • Charts library for statistics visualization; Firebase analytics; Fabric/Crashlytics
  • In-App Subscriptions (StoreKit) with server-side receipt validation
  • Local notifications with smart scheduling — generates future notification chains based on current Pomodoro state
  • Universal app: iPhone + iPad support, deployment target iOS 10.0+

My role:

  • Design app architecture and build from scratch
  • Design Core Data schema and implement bi-directional sync with REST API
  • Build custom analog/digital clock and timer UI components
  • Implement shared codebase between iOS and macOS versions
  • iPad version of the app
  • Integration of analytics and In-App Subscriptions
Chronograph Timer
1 / 5

March 2016
Productivity

Chronograph — macOS counterpart of the iOS Pomodoro timer app (App Dev Academy). Native Cocoa/AppKit interface with window-based navigation, custom analog and digital clock views, and shared business logic with the iOS version.

Technical info:

  • Written in Swift, Cocoa/AppKit with NSWindowController-based navigation and Storyboards
  • Shared codebase with iOS — all models, networking, Core Data, state machines, managers, and helpers via #if os(macOS) guards
  • Custom MacAnalogClockView and MacDigitalClockView — native AppKit timer rendering
  • Statistics screen built with SwiftUI — embedded in the Cocoa app
  • Same Core Data schema and SynchronizationManager as iOS for cross-device sync
  • In-App Subscriptions (StoreKit) + Firebase analytics + Crashlytics
  • Deployment target: macOS 10.14+

My role:

  • Design app architecture and build from scratch
  • Design Core Data schema and implement background sync with REST API
  • Implement statistics screen in SwiftUI
  • Manage shared Swift codebase and third-party dependencies across platforms
  • Integration of analytics and In-App Subscriptions
Chronograph Timer
1 / 2

November 2015
Productivity

SumDU — schedule viewer for Sumy State University (App Dev Academy). Students and teachers search for groups, teachers, or auditoriums and view class schedules with calendar export. My first iOS app published in the App Store.

Source code on GitHub: sumdu-ios

Technical info:

  • Written in Swift, fully programmatic UI — no Storyboards/XIBs, all layouts via Cartography DSL (~26 source files)
  • MVC architecture with delegate protocols for decoupled communication (ParserScheduleDelegate, ParserDataListDelegate)
  • Alamofire networking + Fuzi HTML parsing — scrapes university website to extract groups, teachers, and auditoriums from HTML select dropdowns
  • SwiftyJSON for schedule API responses; 30-day rolling window for schedule queries
  • NSCoding persistence via NSKeyedArchiver — offline caching of schedules, search history, and directory data in UserDefaults
  • Adaptive UI: UINavigationController on iPhone, UISplitViewController on iPad with orientation support
  • Localization: English, Ukrainian, Russian
  • Calendar export via iCal format

My role:

  • Implement custom navigation bar with smooth animations
  • Build adaptive layout for iPad with UISplitViewController
  • Implement search with alphabetical sections and real-time filtering
SumDU Day Schedule
1 / 3