Senior iOS Engineer2019 - 2020Guardian News and Media (Freelance)
Technologies: GitHub, TeamCity, Objective-C, Swift, iOS
- Worked on the Guardian's flagship Live News app.
- 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.
- 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.
Senior iOS Engineer2019 - 2019ustwo (freelance)
Technologies: Model View Viewmodel (MVVM), Prototype Framework, Swift, iOS, RxSwift
- 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.
- Successfully delivered the final prototype ahead of schedule.
Senior iOS Engineer2019 - 2019Novoda (freelance)
Technologies: Unit Testing, Dependency Injection, MQTT, Internet of Things (IoT), Swift, iOS, ReactiveCocoa
- 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.
Lead iOS Engineer2018 - 2018New Look (Freelance)
Technologies: Model View Viewmodel (MVVM), Dependency Injection, Unit Testing, Bitrise, Xcode, RxSwift, Swift, iOS
- Devised a strategy for tackling technical debt whilst 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.
Co-founder2014 - 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.
- Added custom view controller animations using UIViewControllerAnimatedTransitioning APIs.
- Added a notification extension for viewing video messages on Watch.
Senior iOS Engineer2017 - 2017ustwo (Freelance)
Technologies: Model View Viewmodel (MVVM), Behavior-driven Development (BDD), Unit Testing, WebSockets, Xcode, RxSwift, Swift, iOS
- 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.
iOS Engineer2014 - 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.