Summary
Software Engineer at Invertase maintaining Google's open-source Firebase SDKs: Cloud Functions for Dart, Firebase Admin SDK for Dart, and FirebaseUI for iOS and Android. Five-plus years shipping production mobile applications in Flutter, Swift and Kotlin, spanning fintech, banking and consumer products. Focused on public API design, cross-platform architecture, and developer-facing tooling used at scale.
Open source
-
FirebaseUI-iOS · PR #1285, merged Nov 2025
Rebuilt the auth picker as a modal sheet with NavigationStack routing and added the FirebaseAuthUIComponents package. The resulting API shape is now in Google's official FirebaseUI iOS documentation.
-
dart-lang/native · PR #3427, merged
Added cross-compilation to Linux from macOS and Windows hosts in native_toolchain_c: GNU cross-toolchain discovery, clang target triples, WSL tool invocation and ELF output verification, with CI provisioning real toolchains. Carried downstream: switched the Firebase CLI's Dart runtime to dart build cli (firebase-tools #10926, v15.28.0), made it non-breaking via version-feature detection (#10958, v15.28.1) and fixed the firebase-functions-dart side (#244).
-
dart-lang/http · PR #1956, merged
Built Http2Client in package:http2, a pooled, multiplexed HTTP/2 client that respects server stream limits, caps concurrent handshakes and retries dropped connections. Shipped in the Dart SDK's dependencies. Originated from diagnosing why concurrent Firestore queries ran far slower in Dart than in Node (firebase-admin-dart #297, fix in #305).
Experience
-
Software Engineer, Cross Platform · Invertase LtdSep 2025 – present · Remote, UK
- Built the Dart Firebase Admin SDK across Auth, Firestore, Messaging, Storage, Functions and Security Rules to parity with the Node.js SDK; architected the standalone google_cloud_firestore package; implemented Workload Identity Federation and OAuth2 refresh-token auth.
- Refactored the FirebaseUI-iOS auth flow and AuthPickerView as a modal sheet with NavigationStack routing; redesigned email, password-recovery and phone views.
- Led the Jetpack Compose migration of FirebaseUI-Android with nine-plus sign-in providers including OAuth2 and custom OIDC/SAML; built a Firebase Auth emulator e2e suite on GitHub Actions and shipped the beta.
- Automated engineering workflows with parallel agent sessions across git worktrees, integrated with Linear and Slack for triage, hand-off and updates.
-
Senior Mobile Engineer · Sircle Company LtdMar 2023 – Mar 2025 · Remote
- Led a team of three mobile engineers across two production products; solely built the Olive MFB mobile banking app from architecture to production.
- Secured client–server transmission with AES-GCM over an Elliptic Curve Diffie–Hellman key agreement.
- Led a Flutter POS application integrating a Kotlin Android POS SDK through platform channels; shipped to production.
-
Mid-level Software Engineer · Revery Labs, now MindlabJul 2022 – Mar 2023 · Remote, US
- Rebuilt most of the Flutter interface layer for Pocket Kado, a CBT-I sleep app built with Stanford Medicine and winner of the National Sleep Foundation's 2023 SleepTech Award, within three months of joining; mentored teammates onto the framework.
- Integrated Firestore, Cloud Functions (Node.js) and Realtime Database, with full test coverage across authentication flows.
-
Flutter Engineer · Raptures Entertainment IncOct 2021 – Jun 2022 · Remote
- Launched the mobile application to more than 50,000 downloads.
- Built an image processing and compression system that raised media quality across the app.
Contract, part-time
-
iOS Mobile Developer · Risevest TechnologiesSep 2024 – Aug 2025 · Remote
- Refactored a UIKit codebase to MVVM with coordinators for view and tab controllers, restructured around feature modules.
- Separated staging and production configurations; integrated Smile ID biometric verification for KYC.
-
iOS Engineer · Open Factor Technology GroupMar 2025 – Jun 2025 · Remote
- Led the Account Maintenance service in the iOS app for ALAT by Wema Bank, Nigeria's first fully digital bank with 1M+ Android installs: profile, accounts, account upgrade and reactivation, and transaction limits.
- MVVM-C with RxSwift and RxCocoa over UIKit.
Projects
- ThemeKit · Layered SwiftUI theming (ThemeData, ThemeState, ThemeExtension, ThemeOverridable) on the Observation framework.
- Collections · Shipped macOS app that imports folders of local media into course-style collections for playback; iPhone, iPad and tvOS versions in design.
- C++ game projects (SFML) · Zombie Arena, Pong and Timber: texture-cache singleton over std::map, vertex-array tile map, resolution-independent UI layer; Zombie Arena on the SFML 3 API.
- DefaultTextField · UIKit/RxSwift validating text field component, as a Swift package.