Software Engineer (Native iOS/MacOS - Swift, UIKit, SwiftUI, Flutter & Dart)
Native iOS and MacOS applications with Swift, UIKit, AppKit and SwiftUI. Also, cross platform development with Flutter and Dart.
I'm Ademola, a mobile engineering maestro with 4 years experience building production-level pixel-perfect mobile applications.
I'm on a journey of finding my most loved software engineering sector which is currently leaning towards game engineering and systems engineering.

I'm doing this by exploring C++ and developing 2D games with SFML prior to reaching for game dev tools such as Unreal Engine and Unity.

Currently I'm building mobile applications for Native iOS with UIKit, SwiftUI and Flutter plus my own personal production project in MacOS using SwiftUI and AppKit.
iOS / MacOS - UIKit, SwiftUI, Swift, Objective-C, Core Data, RxSwift, Combine, Realm, Alamofire, MVVM-C,VIPER, SPM, Cocoapods, Carthage, URLSession, Core Animation
Flutter - Dart, C++, State management (Bloc/Cubit, Riverpod), RxDart, GetIt, SQLite, Platform Channels
Backend - Firebase (Cloud functions with Typescript, Firestore and Realtime Database)
Dev Tools - Git, Rest API Integration, JSON, GithubActions, Codemagic CI/CD, UI and Unit Testing (Mockito, Mocktail)
Projects
Chaka (iOS / UIKit)
Chaka is your investment passport to trade and invest in U.S., Nigerian, and International stock markets, securely.
- Refactoring a codebase built with UIKit, feature based project structure and migrating to MVVM with coordinators for viewcontrollers and tab controllers.

- Separate environment configurations for staging and production to streamline the development process.

- Integrated biometric verification for KYC using Smile ID, enhancing security and compliance for financial services.
App Store Logo
Olive MFB (Flutter / iOS / Android)
Olive MFB is a mobile banking application that provides easy access to personal banking solutions, funds management, bills payment and much more.
- Leading and solely handling the development of the fintech mobile banking application.

- Integrated platform channels (Method Channel and Event Channel) were used to configure the flutter POS application to listen for card inputs, swipe and nfc using streams from the android module.

- Currently using Bloc for the state management and Clean architecture to properly modularize each feature and allow for easy scalability.

- Securing user data by encrypting and decrypting data during transmission using cryptographic algorithms and monitoring user inactivity to re-authenticate users.

- Biometric authentications for both iOS and Android adapting to available on-device biometrics such as fingerprints and face recognition.

- Integrating KYC using liveness check and document verifications.

- Creating multi-module applications which are all configured to reuse the same resources andreduce duplication of code and multiple development environments using flavors.
App Store LogoPlay Store Logo
FootyX (Flutter / iOS / Android / Firebase)
FootyX helps pickup players and organizers, organize events, find where you want to play sports based on your location and drive to engage communities of different kinds.
- I built the backend and mobile application with Cloud functions (Firebase & Node.js) andFlutter respectively.

- Building features like interactive maps with location annotations which allows players and organizers to find nearby sports centers in real-time this boosted users' excitement based on feedback.

- Players and Organizers can track their activities in the community using an data drivenevent-based system that allows team and player stats management, greatly enhancing userengagement and overall sports tracking experience.

- Using deep links for player invites and sharing sports events.
App Store LogoPlay Store Logo
Pocket Kado (Flutter / iOS / Android / Firebase)
Pocket Kado Sleep Journey is the first app to deliver CBT-I (cognitive behavioral therapy for insomnia) in the form of gameplay.
- Transformed 90% of mobile app interfaces in three months of joining, leading to a boost in team efficiency and advancing colleagues' proficiency in Flutter.

- Took charge of the stimulus control feature, enhancing users' sleep health and improving feature effectiveness.

- Implemented state machine-based animations using Rive for Flutter, elevating the app'svisual appeal and enhancing user experience and increase in user engagement.

- Using firebase for BAAS and integrating firestore, cloud functions (Node.js) and real-timedatabase in the mobile application.

- Ensured high quality by writing comprehensive tests for all feature and module Bloc components, achieving 100% test coverage for authentication.
App Store LogoPlay Store Logo
Media Cataloguer (MacOS / Swift / SwiftUI / AppKit)
The main idea is to be able to import collections of media in folders on your Mac and play them like you would in a video player but this is more like Udemy.
- Built using Swift, SwiftUI and AppKit
Games Explorer (iOS / MacOS / Swift / SwiftUI)
Games Explorer is a multi-platform (iOS and MacOS) application used to explore games, manage your favourite games and follow updates about them.
- Built using SwiftUI
Lecoindine (Flutter / iOS / Android)
Lecoindine is a sales and purchasing platform dedicated to the Muslim community. Inspired by the values of sharing, faith and diversity, Lecoindine osell a wide range of authentic and culturally significant products.
- Built the entire UI for the mobile application using Flutter
App Store LogoPlay Store Logo
Raptures (Flutter / iOS / Android)
Raptures is a global digital storytelling platform & studio network creating original and industry leading webtoons.
- Successfully launched the mobile application, resulting in over 50,000+ downloads to date.

- Implemented an equality by 30% for a significantly improved user experience.

- Integrated push notifications for updates on newly released comics and additional features.

- Developed a networking client for consuming REST APIs, effectively handling backend errors.

- Enhanced app performance using profiling techniques, eand identifying potential leaks for optimized functionality.
App Store LogoPlay Store Logo
Work
iOS Engineer
Nigeria, Remote.
Risevest Technologies Ltd.
2024 - Present
Senior Mobile Engineer
Nigeria, Remote.
The Sircle Company Ltd.
2023 - Present
Mid-level Software Engineer
San Francisco, California, United States, Remote.
Revery Labs Inc.
2022 - 2023
Flutter Developer
Nigeria, Remote.
Raptures Entertainment Inc.
2021 - 2022
Articles
│   Aug 9, 2023
Creating Development Environments for Firebase using the Very Good & Flutterfire CLIs in Flutter
A comprehensive guide on setting up multiple Firebase development environments in Flutter using the Very Good and Flutterfire CLIs. This article highlights the importance of separating development, staging, and production environments to avoid common pitfalls in mobile app development. Learn how to efficiently manage different Firebase configurations and build modes to streamline your development process.
Read Article ➡
│   Oct 25th, 2023
How to fix the “module Flutter not found” compiler error in Xcode
A guide to resolving the 'module Flutter not found' compiler error in Xcode when working with Flutter projects. This article walks through troubleshooting steps and provides a solution involving Carthage for managing dependencies. Learn how to generate and integrate the Flutter.xcframework to fix the issue in your iOS module.
Read Article ➡
│   July 25th, 2023
Schedule local notifications on Android (Kotlin) using Work Manager
Explore how to schedule local notifications on Android using Kotlin and WorkManager. This article delves into managing persistent background tasks, explaining how to handle immediate, long-running, and deferrable work efficiently. Learn to implement WorkManager for robust and reliable task execution even when the app is closed or the device restarts.
Read Article ➡
│  Jan 1st, 2022
Implementing Pagination/Infinite Scrolling in Flutter using Provider Pattern (Stacked Architecture)
An in-depth guide on implementing pagination and infinite scrolling in Flutter using the Provider pattern with Stacked Architecture. Learn how to optimize data loading and enhance app performance by lazily fetching data as users scroll. Improve user experience and conserve device resources in your Flutter applications.
Read Article ➡