A results-driven iOS Engineer with 7 years of experience developing and launching highly successful applications, achieving over 350K downloads. Expert in SwiftUI, UIKit, Core Data, and Concurrency, with a proven ability to optimize for performance and memory management. Proficient in architecting applications using MVC and MVVM patterns, and adept at implementing UI/UX principles to create intuitive and engaging mobile experiences.
In my spare time, I'm developing Box3D, a 3D physics engine built upon Box2D. Motivated by my passion for game development and a desire to explore advanced physics simulations, Box3D prioritizes a modern architecture and a performance-oriented codebase.
Programming Languages
|
Development Frameworks
|
Testing Frameworks
|
iOS Development
- Refactored a UIKit banking application to SwiftUI as part of a four-engineer team, modernizing the user interface resulting in a 15% improvement in initial load times.
- Utilized Instruments to analyze and optimize encrypted data handling, resolving a memory leak and reducing memory consumption by 35% during large data operations.
- Engineered core functionalities using SwiftOTP for a password manager application, including token storage and generation of time-based one-time passwords (TOTP), improving user security and account protection.
- Leveraged CryptoSwift to implement on-device AES-256 encryption for secure storage and management of sensitive user credentials, including usernames, passwords, and TOTP secrets.
- Developed fluid and engaging user interfaces by leveraging Core Animation to create custom animations and transitions within a messaging application, enhancing user experience and application interactivity.
- Architected and maintained comprehensive unit and UI tests using XCTest and XCUITest, ensuring code reliability, functionality, and a 30% reduction in crash reports measured by Sentry.
Physics Programming
- Developing Box3D, a 3D extension of Box2D in C++ (In Progress) Box3D
- Implementing rigid body dynamics.
- Implementing an iterative constraint solver.
- Implementing collision detection: dynamic AABB tree (broad-phase) and SAT/GJK (narrow-phase).