About
π Blogging - Primarily through Medium with posts replicated on Engineering Blog @ GitHub Pages as well as on dev.to.- Meet-up Organiser - Former meet-up organiser of NSManchester and Developer Bytes at Sainsbury's Tech.
- π¨π»βπ» Open Source - Have written a number of libraries and tools in Swift. For a full list of open source libraries and tools see the Open Source Software section below.
π£ Talks - Have given talks most recently at NSLondon meet-up as well as conferences such as iOSDevUK and CodeMobile in the past. Most of these can be found in the talks repo.
Recent Projects
Some projects I've been working on recently:
- QSH and SwiftQuiz - QSH (Quiz Shell) is a client for playing quizzes using the macOS Terminal. SwiftQuiz provides the core functionality for creating and playing quizzes and is used by QSH.
- Lettercase - Added key decoding strategies for decoding JSON keys in some of the most popular lettercases using Codable. For more information see the blog post Get More From Codable By Implementing a JSON Key Decoding Strategy.
- Hyperconnectivity - Provides a ReachabilityPublisher and ConnectivityPublisher for monitoring changes in Reachability and Connectivity using Combine.
Open Source Software
Controls
- AnimatedGradientView - Powerful gradient animations made simple for iOS.
| AnimatedGradientView |
|---|
![]() |
Frameworks
- Cheats - Retro cheat codes for modern iOS apps.
- Connectivity - Improves on Reachability for determining Internet connectivity in your iOS application.
- FeatureFlags - Allows developers to configure feature flags, run multiple A/B or MVT tests using a bundled / remotely-hosted JSON configuration file.
- FlexibleRowHeightGridLayout - A UICollectionView grid layout designed to support Dynamic Type by allowing the height of each row to size to fit content.
- Hyperconnectivity - Modern replacement for Apple's Reachability written in Swift and made elegant using Combine. An offshoot of the Connectivity framework.
- Skylark - Fully Swift BDD testing framework for writing Cucumber scenarios using Gherkin syntax.
- SwiftQuiz - Creates quizzes which can be distributed and played with support for a variety of question types and automatic scoring.
- TailorSwift - A collection of useful Swift Core Library / Foundation framework extensions.
- TypographyKit - Consistent & accessible visual styling on iOS with Dynamic Type support.
- Updates - Automatically detects app updates and gently prompts users to update.
| Cheats | Connectivity | FeatureFlags | Hyperconnectivity | Skylark | TypographyKit | Updates |
|---|---|---|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Tools
- Clear DerivedData - Utility to quickly clear your DerivedData directory simply by typing
cddfrom the Terminal. - Config Validator - Config Validator validates & uploads your configuration files and cache clears your CDN as part of your CI process.
- IPA Uploader - Uploads your apps to TestFlight & App Store.
- Palette - Makes your TypographyKit color palette available in Xcode Interface Builder.
- QSH - Quiz shell for creating & playing quizzes using the macOS Terminal.
| Config Validator | IPA Uploader | Palette |
|---|---|---|
![]() |
![]() |
![]() |













