Profile Overview
**+ years of experience
* ********* **** ** *** App Store
Professional skilled in iOS mobile app developer with expertise in Swift development with versions Swift 1 – Swift 5.7, and with Objective-C and Cocoa frameworks using latest XCode 15.0 Version.
Experience with all aspects of the software development lifecycle (SDLC) and architected project from scratch.
Experience working with iOS frameworks such as CoreData, CoreAnimation, Core Graphics, and CoreText, CoreML, VisionKit, ARKit, CoreBluetooth, CoreNFC.
Familiarity with RESTful APIs and GraphQL to connect iOS applications to back-end service using URLSession and Apollo Client respectively.
utilized ARKit's scene understanding capabilities, allowing for the detection of surfaces, objects, and the integration of virtual
Implementing 3D object recognition using ARKit, enabling applications to identify and interact with specific objects in the user
Integrated ARKit with SceneKit
Worked with telematics data to provide features such as vehicle diagnostics, vehicle tracking
Strong Knowledge Flutter's widget-based architecture, enhancing the overall user experience.
integrating Flutter applications with RESTful APIs, ensuring seamless communication between the app and external data sources.
integrated video SDKs into iOS applications, leveraging their capabilities to enhance video playback, streaming, and recording functionalities. This includes SDKs such as Shaka.js, AVFoundation, and other third-party frameworks to deliver seamless multimedia experiences to end-users.
utilizing Shaka.js within iOS applications to implement adaptive streaming protocols like MPEG-DASH and HLS. My proficiency extends to configuring and customizing Shaka.js for dynamic bitrate adaptation, DRM integration, and advanced video playback features, ensuring optimal performance and compatibility across various devices and network conditions.
developing custom video players for iOS using Shaka.js and native iOS frameworks, allowing for tailored user experiences and seamless integration with other application functionalities
Worked with XAML for designing user interfaces in MAUI applications.
Understanding of performance optimization techniques for MAUI applications
Experience in video encoding and transcoding processes within iOS applications, utilizing Shaka.js and associated tools to optimize video content for different devices, resolutions, and bandwidths
handling and performance optimization techniques for video playback using Shaka.js on iOS
experience integrating ExoPlayer Core Library into iOS applications to provide seamless audio and video playback capabilities
customizing and configuring ExoPlayer to meet specific project requirements, including setting up playback controls, buffer management, and media formats.
using ExoPlayer Core Library, including adaptive streaming protocols such as HLS (HTTP Live Streaming) and DASH (Dynamic Adaptive Streaming over HTTP).
Integrating ExoPlayer with custom user interfaces to provide intuitive playback controls, such as play, pause, seek, and volume adjustment.
optimizing ExoPlayer configurations and fine-tuning playback parameters to enhance performance, minimize buffering, and reduce resource consumption on iOS devices.
using AV Foundation for media capture tasks such as capturing audio and video from device inputs, as well as recording and encoding media streams.
expertise in leveraging AV Foundation to perform various media processing tasks, such as editing, trimming, and applying filters or effects to audio and video content.
using AV Foundation, including accessing metadata, handling asset collections, and organizing media assets within iOS applications.
Developed user interfaces that were optimized for telematics devices with small screens and limited input options
Integrating Apple Wallet functionality into iOS applications, enhancing user experience by offering convenient access to passes, tickets, loyalty cards
Utilized PassKit framework to create, manage, and distribute passes compatible with Apple Wallet, ensuring seamless integration with iOS apps and adherence to Apple's standards and guidelines.
proficiency in ARKit, leveraging Apple's augmented reality framework to create immersive and interactive experiences within iOS applications.
testing and debugging Wallet passes across various iOS devices and versions using Xcode's simulator and physical devices
Integrating Passbook API for seamless communication between iOS applications and Apple Wallet
Experience with integrating third-party libraries and APIs in iOS mobile app development using Cocoa pods, Carthage and Swift Package Manager (SPM).
Experience in developing Native Enterprise iOS B2B, B2C apps and releasing them to AppStore or Enterprise App Store like (MDM Platforms) AirWatch, Cisco Meraki.
Experience with MVC, MVVM variants like MVVM with Repository and Coordinator, VIPER, and POP/OOPs patterns in iOS
Proficient in developing augmented reality (AR) applications using RealityKit.
Used RealityKit's scene understanding capabilities to integrate virtual content
worked with RealityKit's ECS architecture for creating modular and scalable AR applications.
Worked within an MVVM architecture utilizing Async Await as the communication flow throughout the app. Utilized property wrappers such as @State, @StateObject
Followed the MVVM-C architecture pattern for modularity and scalability
Applied the MVVM architecture, ensuring a modular and testable code structure that facilitated efficient maintenance and updates
Proficient in architectural patterns like MVC, MVP, MVVM, MVVMC, VIPER, and Clean Architecture for well-organized and maintainable codebases
Integrated advanced language processing libraries into IOS Chatbot
Used messaging features into iOS chatbot applications
have integrated iOS's notification system into chatbot applications
Implementation of feature flagging techniques in iOS development, allowing for
Conducted comprehensive testing on various iOS devices to ensure seamless HealthKit integration
Skilled in troubleshooting and testing using LLDB, NSLog & print statements, breakpoints, and Instruments for efficient debugging
Proficient in UI development using SwiftUI, Storyboards, XIBs, and programmatic approaches with Size Classes and Auto Layout Constraints
Utilized SwiftUI's data binding and observable object protocols for seamless data synchronization and updates
Built innovative features with SwiftUI and Swift 5.8 to enhance the user experience
Worked within an MVVM architecture utilizing Async Await as the communication flow throughout the app. Utilized property wrappers such as @State, @StateObject, @ObservedObject, @Binding, and @Published with Async Await and SwiftUI for data binding
Expertly debugged the application using the View Hierarchy for swift issue resolution
Enforced consistent programming styles throughout the project using SwiftLint
Possess expertise in the latest MacOS technologies, including SwiftUI, and combined reactive programming
Extensive knowledge of native frameworks like Core Foundation with Cocoa touch, UIKit, SwiftUI, Combine, Core Data, Core Animation, Core Location, Map Kit, AVKit, Core Bluetooth, WidgetKit, StoreKit, Apple Pay, Push notifications etc.
Skilled in integrating Bluetooth services using Core Bluetooth, allowing for the organized grouping of characteristics to efficiently manage Bluetooth interactions in iOS applications
My expertise includes implementing background Bluetooth operations, allowing for continuous communication with peripherals even when the app is in the background or the device is locked.
integrating and managing peripheral devices using Core Bluetooth, enabling iOS applications to interact with a variety of Bluetooth-enabled hardware.
Experience in implementing Bluetooth Low Energy (BLE) technology through Core Bluetooth, optimizing power consumption for extended device battery life.
implementing security measures within Core Bluetooth applications, ensuring secure and encrypted communication between iOS devices
In SwiftUi Expert in manging states of UI using different property wrappers like State, B
Experience with layouts that handle phone and tablet resolution using Size classes in UIKIT framework using Storyboards and programmatic layout.
Use of Apple Push Notification (APNS) in iOS mobile app development using Firebase with Rich/Silent Push Notifications and Universal/Deep linking.
Experience with continuous builds CI/CD using Circle CI, BitRise, GitHub actions, Jenkins and ADO (Azure Dev Ops) and Git and SVN source control using SourceTree, BitBucket, GitHub and GitLab.
Investigating and debugging issues on iOS mobile platforms using break points, view debugger and DYSM logs obtained from Firebase Crashylatics
Expert in using rich threading techniques like Async Await, Actors, OperationQueues, GCD and combine async publishers to improve app performance.
Used to working in an Agile/Kanban Test-Driven Development (TDD/BDD) environment using XCTest /XCUITest and Quick/Nimble frameworks and following strong quality processes.
Hands on experience in SwiftUI concepts like Navigation Stack, List, Grids, State management property wrappers like (State, Binding, StateObject, ObservedObject, EnvironmentObject), View Modifiers, View Builders.
Ability to make decisions on different architecture patterns (MVC, MVVM -C, VIPER, Clean) and design pattern depending upon project requirements and module complexity.
Expert in using Combine and RxSwift frameworks for data binding and with URL Session for REST Api calls.
Technologies
Languages – Swift, Objective-C, MacOS C Swift (Swift 1 – Swift 5. x),, Assembly, Unix, MatLab, Visual, Basic, Verilog
Databases – SQLServer, SQLite, MySQL, Mongo DB, CICD, DevOps
Web Services – REST, SOAP, (JSON/XML)
IDEs - XCode, Visual Studio, Android Studio
Architecture Patterns: MVVM, MVP, MVC, VIPER
Frameworks: CocoaPods, CocoaTouch, AFNetworking, AVFoundation, EventKit, CloudKit, MapKit, LocationKit, Reachability, Phrase
Project: JIRA, Confluence, KanBan, Redmine, Basecamp, Slack
Tools - Instruments, Analyzer
Version Control - SVN, GIT, SourceTree, Tower, Command Line / Terminal, GitHub, Bitbucket
Operation Systems - iOS, Windows, OS X, Linux
Methodologies – PSP, SCRUM/AGILE, TDD
Testing: Unit Testing, XCTest, Automated Testing
Continuous Integration: Jenkins, Travis, Hudson
TestFlight
User Journey: AppCenter, Firebase, NewRelic
Persistence: Core Data, Keychain, NSCoding / NSKeyedArchiver, SQLite, PList, NSUserDefaults
Mobile Map Tools: Core Location, MapKit, Location Kit, Google Maps API
Testing: TestFlight, Jenkins, XCUITest, Test-Driven Development (TDD), Fastlane, Sonar Qube, CircleCI, Bitrise
Development Tools: Visual Studio, Xcode, Instruments, JIRA, Slack, Figma, InVision, Postman.
Professional Experience
Lead/ Senior iOS App Developer
Domino’s, Ann Arbor, Michigan September 2020 – Present
https://apps.apple.com/us/app/dominos-pizza-usa/id436491861
https://apps.apple.com/us/app/zero-click/id1093822449 (No longer available on Apple platforms but still downloadable on Android)
Joined Domino’s as an iOS accessibility subject matter expert shortly after the company had lost a lawsuit over the app and website being inaccessible while using screen readers. I worked on a team of about 6 people, including one developer for each platform (iOS, Android, and web), a project manager, and several QA personnel. As the accessibility team, our main task was to address an incredibly long list of accessibility issues that had been identified through a series of audits carried out by Deque, a company that specializes in accessibility auditing and development training. Our secondary task was to develop a list of easily understood and implementable standards and guidelines to be followed by all developers to create more reliably accessible features going forward. After two and a half years, we were ultimately successful in both of the goals. As the sole iOS developer on the accessibility team, fixed over 400 bugs in the app, and wrote the guidelines and best practices on accessible development practices for Domino's, which is being carried forward into the development of a completely new app that is presently being architected. After those two and a half years, the accessibility team was formally dissolved, and all members were moved onto the regular development teams in different parts of the company. I worked for a period of approximately half a year after the dissolution of the accessibility team on more typical feature work and non-accessibility-related bug fixes before eventually parting ways with Domino's.
Addressed VoiceOver-related bugs, ensuring accessibility by adding alt text to images and optimizing visible screen elements for screen reader focus and readability
Worked in an older MVC architecture in older module and new modules in MVVM C architecture with TDD approach.
New modules are developed in SwiftUI, legacy code is in UIKIT with Objective-C.
Utilized UIKIT with storyboards and programmatic constraints and SwiftUI with HostingViewController and UIViewRepresentable protocols.
working in Core Bluetooth, facilitating the exchange of data and control signals between iOS devices and connected peripherals.
Implemented the Project Tracking and Company Overview feature using SwiftUI
Employed mostly storyboards, supplemented by occasional programmatic UI
Followed TDD approach to write Unit, Integration and snapshot test cases.
Contributed to improving testing practices and maintaining test files
Utilized Singleton for managing feature flags, especially for features in beta testing using firebase remote config.
Integrating XCUITests into continuous integration pipelines, ensuring seamless and automated testing throughout the development process
Accessibility testing using XCUITest, ensuring that iOS applications are inclusive and comply with accessibility standards
integrating XCUITests with performance testing frameworks to assess the responsiveness and efficiency of iOS applications under various conditions
Designed and executing XCUITests that cover a broad range of iOS devices, ensuring consistent performance across different screen sizes and resolutions.
I implement data-driven testing strategies using XCUITest, allowing for efficient validation of iOS app
managing dependencies effectively in CICD pipelines, utilizing tools like CocoaPods or Swift Package Manager to handle third-party libraries and frameworks.
deployment processes through CICD pipelines, facilitating the seamless delivery of iOS apps to various distribution channel
integrating feature flags for AB testing purposes
using feature flags, ensuring a tailored and controlled user experience.
Implementation of feature flagging techniques in iOS development, allowing for dynamic control and toggling of features within applications.
Implemented the Facade pattern for menu items, navigating the complexity of some menu items with varying success
Created internal reusable dominos frameworks like DominosKit, and other relevant frameworks for development.
Collaborated with a diverse team to enhance accessibility across platforms
Utilized JIRA for day-to-day story management and tracking
Relied on Confluence for tracking, archival, information gathering, and notes on best practices
Managed branches and merges/Rebase using BitBucket/Stash
Communicated and held meetings using Microsoft Outlook and Teams
Shared design details through Figma
Executed actual coding in XCode 12 to XCode 15, migration from iOS 12 to iOS 14 and Swift 4.0 to Swift 5.0 version.
Managed monthly release cycles, with bug fixes not tied to specific release dates like feature releases
Managed currently selected store information using Singleton in various cases
Employed the Facade pattern for menu items, addressing complexities associated with diverse menu items
Contributed to improving testing practices and initiated efforts to maintain and update testing files
Collaborated with a diverse team to enhance accessibility across different platforms
Implemented the Project Tracking and Company Overview feature using SwiftUI
Successfully navigated and contributed to a codebase with a mixture of old Objective-C, recent Swift, and SwiftUI.
Able to implement rich user interfaces per UI/UX specifications using SwiftUI, Interface Builder, Storyboards, XIBs, and IBDesignables.
Participated in a structured release process, ensuring regular and predictable updates.
Migrated code to use Combine’s publisher pattern instead of delegation pattern to communicate b/w classes.
Integrated Firebase Crashylatics and two type of analytics Firebase and Adobe.
Improved app performance by migrating REST webservices to GraphQL using Apollo client with queries and mutex.
Integrated Sonar Qube with CircleCI pipeline to check code coverage and modified sonar-properties file to exclude legacy code from test coverage.
Senior iOS Developer
East West Bancorp, CA March 2019 – September 2020
Link: https://apps.apple.com/us/app/east-west-bank-mobile/id1517733259
With the East West Bank Mobile, you can manage your banking needs on the go. You can experience an enhanced mobile banking app, from managing your bank accounts to transferring funds between accounts to initiating wire transfers, and cheque deposits, checking your account balance & monitoring your transaction activities, and sending and receiving money from other US or International financial Institutions. So, apply for an account quickly from the comfort of your home.
Lead developer for security, data protection, keychain, SSL pinning, encryption, storage, and profile sync stories within the East West Bank Mobile app.
Used XCode 14.3 with Swift 5.5 and MVVM-C architecture and TDD using XCTest framework.
Developed custom button modifiers, view modifiers, property wrappers, view builders, and skins for the UI/UX within a Swift UI ecosystem.
Developed Plug ’N’ Play UI library on top of UIKIT and SwiftUI for custom UI components using Swift package manager (SPM).
Created a new module within the app to load features in a web view, which was re-used several times throughout the app after creation
Configured the app to work with many different new environments from which we consumed various APIs for loading both native-built and WebView features
Used proprietary bank frameworks and CocoaPods for consumption of RESTful web services
utilized PassKit framework to create, manage, and distribute passes compatible with Apple Wallet, ensuring seamless integration with iOS apps and adherence to Apple's standards and guidelines.
configuring various pass types such as boarding passes, event tickets, coupons, and membership cards using Pass Type Identification (PTI) certificates, enabling secure distribution and storage within Apple Wallet.
enable contactless interaction with passes stored in Apple Wallet, facilitating effortless check-ins, access control, and redemption processes at supported NFC terminals.
Used MVVM (Model-View-ViewModel) architecture for organizing code in MAUI projects
worked with MAUI's adaptive UI capabilities for creating responsive layouts
Integrating third-party libraries and components into MAUI applications
Implementing dynamic pass updates through web services or push notifications, enabling real-time updates and notifications for changes in pass information, expiration dates, or promotional offers directly within Apple Wallet.
testing and debugging Wallet passes across various iOS devices and versions using Xcode's simulator and physical devices
Ensured security of both transmitted and locally stored customer information by encoding customer information in service calls and utilizing Keychain for locally stored user data
Coordinated with the transmit security team on implementing two-factor authentication for first-time login on a device and when entering certain features
Maintained stylistic consistency within the app while working on new features, while also adding a few new styles of our own as UX requirements demanded
Navigated and added to a large existing codebase that was constantly being added to and changed by many other teams while utilizing 20+ CocoaPods
Led and coordinated a team of 2-4 offshore iOS and Android developers
Assisted .NET and Java API developers with debugging backend systems
Took a leading role in planning features, stories, and team capacity for each quarterly Program Increment
Implementing code quality checks within CICD workflows, utilizing tools to analyze code metrics and enforce coding standards
Integrating CICD pipelines with version control systems like Git, ensuring a synchronized and automated workflow for iOS app
Integrating performance monitoring tools into CICD pipelines, allowing for continuous assessment of iOS app performance throughout the development lifecycle.
Worked closely with on-team desktop web, mobile web, Android, .NET, Java, and iOS developers and testers to ensure cross-platform functionality of features
Refactored and reviewed code from other developers both on and off the team as required to ensure consistency, readability, and efficiency
Ensured that all new features were built with accessibility in mind and assisted with testing of VoiceOver and Text Resizing accessibility features
Added and maintained localization files in English and Spanish for all new native-built features and coordinated with external translation teams for Spanish content
Added unit tests for all non-private methods in the app as a facet of TDD
Maintained detailed documentation of new functionality through comments within the code, Confluence documents, SharePoint files, and commit descriptions
Manually migrated many files and verified codebase integrity when DevOps changed the codebase from GitHub Team to GitHub Enterprise
Performed manual ETM testing at a time when several members of our testing team became sick and injured at once
Managed merge requests from other team members and created merge requests to monthly release branches, while reviewing and refactoring code as needed
Created HockeyApp/AppCenter builds for the testing team and assisted with monthly release activities
Worked with Jenkins for automation testing of submitted code and debugged pipeline failures at times when the Jenkins pipeline was unstable due to bad merges or code migration activities
Found, escalated, and fixed minor and major defects discovered both during development and in production
Added 5+ entirely new features to the U.S. Bank mobile iOS app
Coordinated with an external team to integrate Adobe Analytics tracking of user interactions within the app to provide data on the frequency of use of new features
Worked under pressure, with strict legal deadlines, and changing business priorities to provide deliverable and well-built features for each quarterly release
Recognized and commended multiple times by co-workers on the team, project owners, and scrum master's for my dedication to my work and my knack for recognizing risks early and escalating them before they become major issues
Senior iOS Developer
Wellstar, Atlanta, GA June 2017 – March 2019
https://itunes.apple.com/us/app/wellstar/id1239465407
Wellstar users can use the iOS mobile app to find a doctor, practice, or other location near them (by GPS or address, schedule appointments, check in to urgent care and emergency room locations, access MyChart and patient records, get turn-by-turn directions, and connect to the customer care team.
Implemented development of the iOS application in Xcode primarily in Swift and transitioning and refactoring some Objective-C code
Implemented push notifications by creating APNS certificates and displayed all the notices in one location in the Notices Tab and handled push notifications effectively with the server for integration
Consumed RESTful web services using Alamofire to access the data from the backend
Worked with Storyboards to refactor several UI layouts based on wireframes to heighten the user experience
Worked with Storyboards, Size Classes, and AutoLayout constraints for graceful orientation handling and support for various iPhone and iPad devices
Worked with the team and individually to see projects through to completion using the Agile development process
Wrote web service wrapper to form the request and parse the response to send it to UI
XIBs for several views, while others are programmatically created
Worked with the Instruments tool extensively at the end of the development cycle to minimize memory leaks and assure overall application stability
Worked closely with team lead to mentor junior developers and assist with code reviews; to ensure best practices and quality coding
Refactored legacy code and transitioned some hybrid-based under-bridging headers to Swift 4. x
Worked with Objective C, and Cocoa Frameworks, which include UIKit, Foundation, UI Image Picker, and UI Date Picker
Worked with the QA team to find and resolve defects
Refactored some UI layouts using Storyboards following for better UI/Ex
Ensured effective screen orientation and rotation with Storyboards, Size Classes, and AutoLayout constraints, testing on both iPhone and iPad devices
Ensured iOS device backward compatibility
Make sure we maintained a high coverage ratio for testing and worked with QA to make sure all quality issues were resolved
Senior iOS Developer
Crate & Barrel, Northbrook, IL May 2016 – June 2017
https://itunes.apple.com/us/app/crate-barrel/id529356019
This iOS mobile app provides both shopping and a gift registry. Users can buy online or scan items in-store to check prices. Speed checkout with the app, save favorites, and even create custom upholstery selections and orders in the app.
Performed all roles from UI design to writing code
SDLC used for the implementation cycle was Agile based
Developed in Xcode iOS IDE using Swift coding
Invoked RESTful web services using Alamofire and parsed JSON responses using SwiftyJSON
Refactored RESTful requests from NSURLSession to AFNetworking and backward compatibility with iOS 5+
Adapted Core Animation and CALayer to crop and animate images over videos
Added a new 'Nearby' function to the app using Mapkit, which helped locate nearby locations
Worked with MVVM architecture; Delegation, Notifications, KVC, and Singleton design patterns
Analyzed business requirements and translated them into technical specifications
Analyzed and optimized the UI and the backend interface code for efficiency and performance.
Used Xcode, Interface Builder, and XIBs as well as AutoLayout Constraints in the UI implementation
Applied new layout, refactored source code, reduced app size, fixed memory leaks, reviewed source code, and optimized performance. Wrote unit test
Managed project configuration
Collaborated with the design team, QAs, scrum master, and product owner to implement enhancements or new applications during daily standups, sprint planning, and sprint retrospectives
Worked with Jenkins CI server for builds and Git code repository using Test-Driven Development (TDD)
JIRA is used for user stories, epics, and tasks, and we pulled items from JIRA to work on issues or backlogs when not working on features
Senior iOS Developer
Harry Norman Realty, Atlanta, GA March 2015 – May 2016
https://itunes.apple.com/us/app/harry-norman-home-search/id725684147
The Harry Norman Realty iOS app features a powerful search filter that lets users search for houses by address, city, zip, MLS#, bedrooms, baths, and more. The iOS mobile app features a favorites listing linked to the user's Harry Norman account that can be accessed on mobile or the web. Push notifications send users an email alert when any changes occur to the favorites listed.
Collaborated with offshore teams
Recommended and executed plans to improve development tools and processes
Designed and implemented custom interactive controls using native iOS to solve complex interface usability issues
Led working groups to develop migration strategies and prepare standard operating procedures
Coordinated with QA testers for end-to-end unit testing and post-production testing
Documented and maintained documentation on various client projects
Wrote web services to interface with the iOS Mobile App. All web services are RESTful and use Open Authentication to implement a secure environment
Implemented asynchronous network session classes using the native iOS NSURLSession collection of classes to consume data provided from RESTful services in JSON and XML
Used CoreData for data persistence by storing relational data offline
Develop dynamic configuration to switch between web service calls
Senior iOS Developer
Hilton Worldwide, Inc., McLean, VA May 2014 – March 2015
https://itunes.apple.com/us/app/hilton-honors/id635150066
The Hilton iOS app features are available at all Hilton brand hotels worldwide. Features include checking with the app, picking your room with street views included, ordering, food drink, room service, and staff assistance, and managing user Hilton Honors account.
Was part of an iOS development team working on a new iOS mobile app for Hilton Hotels
Worked in Xcode on the iOS app in Objective-C and Cocoa Touch Framework to build the app, including UI Kit, Map Kit, Foundation, UI Navigation View, UI Tab Bar Controller, UI Table View and Storyboard
Used RestKit for consumption of RESTful web services with asynchronous back-end communications
Worked with GIT to check and update the codebase changes
Worked with UIKit Framework for development and maintenance
Worked closely with a cross-functional team of testers and developers
Re-fetching data for different