Osborn Maja
Hero Image

Hey I'm Osborn

Mobile engineer

Mobile Engineer specializing in native development with clean architecture (MVVM/MVI), writing scalable, test-driven code that delivers premium user experiences.

Experience

Roamtech Solution

Mobile Application Engineer

Roamtech Solution

Mar 2025 – Present

Nairobi (Hybrid)

  • Architected and rewrote the flagship international money transfer (IMT) mobile app (Afrisend) from native Kotlin/Java to Flutter, scaling the application to process over 2,000+ monthly global remittance transactions across 100+ active downloads.
  • Integrated secure backend REST APIs supporting multi-channel payouts—including M-Pesa and international bank transfers—enabling instant cross-border payments for African diaspora users.
  • Engineered the UK-focused Tumatuma remittance app using Flutter and feature-based modular architecture, utilizing bloc_concurrency to ensure reliable event handling during high-volume multi-step payout flows.

Projects

Tumatuma App

Screenshot of Tumatuma App

Overview

Engineered the mobile banking and remittance platform enabling diaspora users in the UK to complete cross-border money transfers. Features a modular architecture using BLoC concurrency, Veriff identity verification (KYC), and real-time WebSockets.

Tech stack

FlutterDartBLoC ConcurrencyREST APIsWebSocketsVeriff KYCFastlanePatrol

Nafusite Mobile App

Screenshot of Nafusite Mobile App

Overview

A native Android mobile application built to demonstrate clean architecture, robust state management, and modern Kotlin development principles.

Tech stack

KotlinAndroid SDKClean ArchitectureMVVMREST APIs

Resources

PixStream

Screenshot of PixStream

Overview

Addresses disrupted user experiences during network drops, where refreshing forces loss of progress. Resolves this by using real-time connection monitoring and local state preservation to seamlessly resume media fetching from the exact point of interruption without loading unintended new content.

Tech stack

React NativeExpoAsync StorageNetInfoAxiosPexels APIReact Native Paper

Resources

Case Studies

Offline-First Data Synchronization

The Challenge

Application failure and data loss when users attempted critical cross-border transactions or viewed account details in low-connectivity environments.

How I Solved It

Architected an offline-first data layer that persists user state locally, allowing seamless app operation offline and queuing background sync tasks until network connectivity is restored.

Platform & Tech

Flutter / Dart (Local Storage, BLoC State Management)

High-Performance HTTP Caching Strategy

The Challenge

Slow initial screen loads and excessive API usage caused by fetching fresh remote data on every screen navigation.

How I Solved It

Implemented robust HTTP caching protocols using conditional headers (ETags / Cache-Control) and local cache fallbacks, drastically speeding up data load times and minimizing redundant network payloads.

Platform & Tech

Mobile & Web (HTTP Caching, REST APIs)

CDN Media & Network Resource Optimization

The Challenge

High latency and increased bandwidth costs caused by delivering unoptimized static assets and heavy media files directly from origin servers.

How I Solved It

Configured a global Content Delivery Network (CDN) edge-caching layer with automated dynamic image compression and asset minification, significantly accelerating global delivery times and reducing origin server load.

Platform & Tech

CDN (Cloudflare / CloudFront, WebP Optimization, Edge Caching)

Skills & Technologies

Mobile Frameworks & Languages

FlutterReact NativeDartKotlinJavaJavaScriptTypeScriptAndroid SDK

State Management & Architecture

BLoC (bloc_concurrency)RiverpodZustandClean ArchitectureMVVMSSOTUDF

APIs, Cloud & Backend Integrations

REST APIsWebSocketsJSONFirebaseGoogle Cloud Platform (GCP)

DevOps, CI/CD & Testing

FastlaneGitHub ActionsXcode CloudGitGitHubGitLabPatrolMaestroJest

Tooling & Design Collaboration

Android StudioVS CodeFigmaPostmanJiraLinearCopilotSonarQube