Mobile Architect, Senior Product Engineer
2021 - PRESENTBunch- Successfully delivered rewrite of the app using RxSwift and VIPER architecture. That feat greatly contributed to closing the $1.5M fundraising round.
- Maintained and fixed bugs in legacy apps written in SwiftUI and Combine.
- Integrated Fastlane with CircleCI to achieve continuous integration. Cleaned up after CircleCI security incident and moved to Github Actions.
- Built in-app purchases using RevenueCat and paywalls using Superwall.
- Integrated Sentry and Crashlytics for error and crash logging.
- Used Amplitude and Segment to investigate user journeys and monitor important KPIs.
- Wrote hundreds of unit and snapshot tests in order to increase stability and confidence when releasing.
- Rapidly shipping features and controlling them using feature flags.
- Displayed video and audio content in the app using AVFoundation.
Technologies: Swift, RxSwift, VIPER Architecture, Git, SnapKit, CocoaPods, Xcode, CircleCI, Sentry, Fastlane, UIKit, Amplitude, Segment, Braze, Firebase, Airtable, Unit Testing, LaunchDarkly, iOS Instruments, SwiftLint, Jira, Test-driven Development (TDD), Object-oriented Programming (OOP), XCTest, Slack, Alamofire, Continuous Integration (CI), Viper, Bash Script, Mobile Development, SwiftUI, AVFoundation, iOS VideoCEO | Founder | iOS Development Consultant
2020 - PRESENTUnderflow- Consulted several companies regarding iOS development.
- Set up architecture and processes for iOS development. Adapted a React Native app for iOS.
- Helped integrate a low-level GPU library into an Xcode project.
Technologies: Viper, Model View Viewmodel (MVVM), RxSwift, Objective-C, Swift, iOS, Mobile Development, Object-oriented Programming (OOP), SlackiOS Development Consultant
2021 - 2021LipSurf, Inc- Created a speech recognition library in Swift that uses Speech framework.
- Integrated Swift library into a React Native code.
- Made sure that speech recognition calls are thread safe and robust.
Technologies: iOS, Objective-C, Swift, React Native Bridge, React Native, Speech Recognition, MultithreadingSenior Software Engineer
2020 - 2021Sportening- Created a rich UI with smooth animations and interactive custom components.
- Built a robust and responsive app using RxSwift and clean architecture.
- Wrote hundreds of unit tests using snapshot testing, RxBlocking, and RxTest.
- Wrote several bash scripts to record network traffic smartly. Also wrote scripts to automate tedious tasks like updating proto models, downloading and formatting localization files, and more.
- Moved the codebase from Carthage to Swift Package Manager.
Technologies: Swift, iOS, RxSwift, Clean Architecture, Protobuf, UIKit, Unit Testing, Bash Script, Jira, Confluence, Carthage, iOS Instruments, SwiftLint, Object-oriented Programming (OOP), XCTest, Slack, Alamofire, Core Data, Mobile Development, AmplitudeiOS Development Consultant
2020 - 2020Farm Credit DRP- Boosted the development of an iPhone app for insurance.
- Delivered on all requirements within a tight schedule.
- Built a reactive application using RxSwift and MVVM.
Technologies: Model View Viewmodel (MVVM), RxSwift, Swift, iOS, Mobile Development, Object-oriented Programming (OOP)Senior iOS Developer
2019 - 2020Nomadic Tribe (via Toptal Projects)- Built a booking system and integrated it with Stripe payments.
- Added support for push notifications and created a push notification extension. Integrated Swift Package Manager support.
- Built social media features with rich posts, comments, people and location tagging, sharing, and other feed actions. Provided smooth scroll performance, an intuitive UI, and efficient data load and persistence.
- Tweaked misbehaving custom fonts. Used instruments to find performance bottlenecks. Built a custom scroll-based fading navigation bar.
- Extracted custom build settings to Xcode configuration files and schemes, making them easy to switch based on the environment—debug, QA, staging, and release.
- Displayed videos in the app using AVFoundation. Also applied image filters.
Technologies: Jira, Git, SnapKit, PromiseKit, Stripe, Core Data, Swift, iOS, Mobile Development, iOS Instruments, Object-oriented Programming (OOP), XCTest, Slack, UIKit, Unit Testing, Stripe Payments, AVFoundation, iOS Video, Social Media AppsiOS Development Consultant
2019 - 2019WeSports- Created a library for a lightweight Amazon Cognito sign-up process for Carthage.
- Created a test app to demonstrate usage of the library.
- Handled asynchronous tasks primarily using RxSwift.
Technologies: Amazon Cognito, Carthage, RxSwift, Swift, iOS, Mobile Development, SDKs, Object-oriented Programming (OOP), XCTest, SlackLead iOS Developer
2014 - 2019Sofascore- One of the early employees in a super successful product SofaScore that reached 22M MAUs and $10M+ in revenue.
- Split a legacy Objective-C codebase into several frameworks and integrated Swift support.
- Wrote hundreds of unit and snapshot tests making sure things don't break. It sped up development, making team members more confident when releasing updates.
- Implemented a non-consumable in-app purchase and an auto-renewable subscription with local validation using OpenSSL.
- Created a library to facilitate the use of table views with mixed table view cells and made seamless animated transitions between states.
- Implemented a watchOS app as well as Today and Intents app extensions.
- Refactored the core app using Promises to make data load and persistence seamless, fast, and efficient.
- Developed a multiplayer penalty shoot-out game from scratch using Swift and reusing existing underlying frameworks.
Technologies: BuddyBuild, Sirikit, StoreKit, SnapKit, PromiseKit, Git, CocoaPods, Objective-C, Swift, WatchOS, iOS, Mobile Development, Firebase, iOS Instruments, SwiftLint, Test-driven Development (TDD), SQLite, Object-oriented Programming (OOP), XCTest, Slack, Promise, Multithreading, Alamofire, YouTrack, Continuous Integration (CI), UIKit, Unit TestingSoftware Engineering Intern
2015 - 2015Facebook- Created a pixel perfect UI and animations to enhance user engagement.
- Wrote code in Objective-C++. Fetched necessary data from a database using GraphQL.
- Deployed code to a codebase shared with hundreds of developers. Successfully shipped a component that was shown to new users on top of the News Feed in the Facebook app.
- Improved accessibility for visually impaired people.
- Wrote unit, snapshot, and end-to-end tests for the technology.
Technologies: GraphQL, ComponentKit, Mercurial, Objective-C++, Mobile Development, iOS Instruments, Object-oriented Programming (OOP), XCTest, Slack, Social Media AppsSoftware Developer
2013 - 2014aiKATE- Developed an application to track students' progress in the early stages of education and for direct parent-teacher communication.
- Worked on processing input data and creating backup Excel files.
- Developed forms using ASP.NET to collect user input.
Technologies: Microsoft SQL Server, ASP.NET, C#, Object-oriented Programming (OOP)