Android Technical Lead
CurrentAs the Android technical lead for the digital signature project, we decided to steer the project towards Kotlin Multiplatform (KMP) after assessing various needs. This approach would allow us to create a shared codebase that simultaneously covers market demands for both platforms. Initially, a research team was formed to explore the feasibility of implementing digital signatures on the iOS platform. Below are some of the challenging tasks I implemented. Additionally, we needed to enhance security and dependency injection (DI):• Developed the sorted JSON library with the capability to sort keys within JSON objects (utilizing the Composite design pattern)• Created a key and certificate management library using KeyStore, KeyChain, and memory management in Objective-C and Kotlin Native• Developed an ASN.1 parser for parsing key and certificate data on iOS• Implemented thread safety for classes such as SimpleDateFormat and KeyStore• Built a Kotlin Multiplatform (KMP) JOSE library for signing server requests• Established sub-modules for debug and release configurations and environmental flavors in KMP (currently, this feature is only available in Android Gradle)• Handled DeepLink and OTP Auto Fill in KMP• Provided a solution for dependency management in the SDK using Koin Isolate Context• Enhanced security measures in C++, including root and emulator detection, defining constant strings using AES GCM encryption, adding SSL pinning, and performing reverse engineering tests on the SDK output using jadx and Ghidra