Senior iOS Engineer
2019 - 2020The Guardian- Worked on the Guardian's flagship app, Guardian Live News.
- Identified performance bottlenecks and increased scrolling smoothness by over 25%.
- Developed a strategy for implementing dark mode in a legacy codebase.
- Contributed to the open-source International Advertising Bureau (IAB) consent management Swift project.
- Added self-sizing elements to UICollectionView, reducing total lines of code to be maintained in the future.
- Transformed a Proof of Concept for a WKWebView to native communication bridge using Apache Thrift into production-ready code.
- Added protocol multiplexing and Swift 5 support to the open-source Apache Thrift project for native-web view communication.
Technologies: GitHub, TeamCity, Objective-C, Swift, iOS, Mobile DevelopmentSenior iOS Engineer
2019 - 2019ustwo- Rebuilt an existing health app prototype using a new design direction.
- Recommended using container view controllers to allow multiple developers to work on the same screens with minimal overhead.
- Delivered the final prototype ahead of schedule.
Technologies: Model View Viewmodel (MVVM), Prototype Framework, Swift, iOS, RxSwift, Mobile DevelopmentSenior iOS Engineer
2019 - 2019Novoda- Worked alongside another engineer (pair-programming) on an Internet of Things (IoT) framework based on MQTT.
- Increased the unit test coverage and created documentation for framework consumers.
- Used Reactive programming experience to make the existing codebase more readable, maintainable, and testable.
Technologies: Unit Testing, Dependency Injection, MQTT, Internet of Things (IoT), Swift, iOS, ReactiveCocoa, Mobile DevelopmentLead iOS Engineer
2018 - 2018New Look- Devised a strategy for tackling technical debt while delivering new features and maintaining test coverage in a live app.
- Reduced total lines of code by 35% and removed multiple external dependencies.
- Improved the App Store rating from one star to five stars.
Technologies: Leadership, Model View Viewmodel (MVVM), Dependency Injection, Unit Testing, Bitrise, Xcode, RxSwift, Swift, iOSCo-founder
2014 - 2018Peeps- Launched a messaging app based around sending 10-second video clips between groups of users.
- Designed a custom SMS-based system for verifying users based on Twilio REST API.
- Implemented high-compression H.264/MPEG-4 AAC video recording using AVFoundation.
- Wrote server-side business logic in JavaScript for Parse (now Parse-server running on Heroku).
- Added custom view controller animations using UIViewControllerAnimatedTransitioning APIs.
- Added a notification extension for viewing video messages on Watch.
Technologies: JavaScript, Audio, Videos, AVFoundation, Parse, Twilio, UIKit, Objective-CSenior iOS Engineer
2017 - 2017ustwo (Freelance)- Developed a connected-car app for Jaguar Land Rover in use worldwide.
- Used reactive frameworks in conjunction with web sockets to make an instantly-updating UI.
- Participated in BDD workshops to define scenarios and system behavior.
Technologies: Model View Viewmodel (MVVM), Behavior-driven Development (BDD), Unit Testing, WebSockets, Xcode, RxSwift, Swift, iOSiOS Engineer
2014 - 2015Curator (freelance)- Used the UITraitCollection APIs to add adaptive layouts for portrait and landscape on iPad that paved the way for a launch on iPhone.
- Added interactive and non-interactive transitions between view controllers.
- Designed and implemented a syncing Core Data API using Parse as a back end.
Technologies: JavaScript, Parse, Core Data, UIKit, Objective-C