Skip to content
View Mina-Mikhail's full-sized avatar

Block or report Mina-Mikhail

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Mina-Mikhail/README.md

👋 Mina Mikhail

📱 Principal Android Engineer | 🏦 FinTech & Digital Banking | 💳 POS Systems

LinkedIn GitHub Followers

8+ years building production-grade Android applications


🚀 About Me

Android engineer based in Cairo, Egypt with deep expertise in fintech, digital banking, and payment systems.

I build apps that handle real money for real users in real markets.

My work spans POS terminals, secure transactions, modular architecture, and high-availability applications deployed across Egypt, Pakistan, and Saudi Arabia.

I spend 2 hours daily learning new technologies. Android is a long-term craft, not a trend.

What I care about:

  • Clean architecture that scales
  • Testable code that catches bugs before users do
  • Performance under real constraints
  • Systems that fail safely

🏢 Professional Experience

🏦 Onebank

Principal Android Engineer

Building Egypt's first digital bank.

  • Modular Android architecture for enterprise-scale apps
  • Authentication systems with multiple strategies (OTP, Biometric, DFI)
  • FATCA/KYC compliance implementations
  • Token and session management systems
  • CI/CD with quality gates

💳 Paymob

Senior Android Engineer – FinTech & POS

  • Developed Android apps for POS payment terminals
  • Worked on card transactions, EMV, and secure payment flows
  • Deployed apps used across Egypt, Pakistan, and Saudi Arabia
  • Focused on stability, latency, and offline handling

🛠️ Technical Stack

Category Technologies
Languages Kotlin Java
Architecture Clean Architecture, MVVM, MVI (Orbit), Modularization by Feature
Async Coroutines, Flow, StateFlow
DI Hilt Dagger
Networking Retrofit, OkHttp, Ktor
Database Room, DataStore
UI Jetpack Compose, DataBinding, Navigation Component, Material Design
Testing JUnit 4/5, MockK, Mockito, Kover, Orbit Test
CI/CD GitHub Actions, Jenkins, SonarQube
Build Gradle KTS, buildSrc
Tools Git Figma

📦 Featured Projects

Production-ready Android template with clean architecture and modern tech stack.

Stars Forks Last Commit

Features:

  • Clean Architecture with Domain, Data, Presentation layers
  • Navigation Component with multiple backstack support
  • Hilt dependency injection
  • Kotlin Coroutines and Flow with StateFlow
  • Git hooks for code quality automation

Tech Stack: Kotlin, MVVM, Hilt, Coroutines, Flow, StateFlow, Retrofit, Navigation Component, DataBinding

Modules: app, domain, data, presentation, appTutorial, actionChooser, prettyPopUp, imagesSlider


Secure biometric authentication with Cipher encryption/decryption for sensitive data.

Stars Forks

Features:

  • Biometric login with fingerprint/face authentication
  • AES encryption/decryption using Android Keystore
  • Secure storage of user credentials
  • Clean modular architecture

Tech Stack: Kotlin, Biometric API, Android Keystore, Cipher, Hilt, Encrypted SharedPreferences

Modules:

  • biometricAuthentication — Handles biometric prompt and authentication flow
  • crypto — Manages encryption and decryption operations
  • prefs — Encrypted SharedPreferences wrapper

Screens: Splash (biometric login), Login (credential encryption), Home (user data display)

📚 Biometric Authentication Presentation


Test data generation library for Android unit testing.

Stars Forks

Features:

  • Generate dummy values for any data class
  • Support for lists with configurable size
  • Easy customization with .copy() for specific test scenarios
  • Reduces boilerplate in unit tests

Usage:

// Generate single object
val user = fixture<User>()

// Generate list with specific size
val users = fixtureList<User>(10)

// Override specific fields
val customUser = fixture<User>().copy(name = "Test User")

Why use it:

  • Eliminates hardcoded test data
  • Makes tests more readable
  • Catches business logic changes when combined with exact mocking

Retrofit adapters for handling API responses and exceptions in clean architecture.

Stars

Features:

  • Custom Retrofit Call Adapter for unified error handling
  • Sealed class response wrapper for success/error states
  • Network exception handling without try-catch blocks
  • Clean separation between network and domain layers

Tech Stack: Kotlin, Retrofit, OkHttp, Clean Architecture

Use Case: Centralized API error handling that propagates errors through the architecture without exposing Retrofit exceptions to the domain layer.


Sample news application demonstrating modern Android development practices.

Stars

Features:

  • Fetch and display news articles from API
  • Local caching with Room for offline support
  • Image loading with Coil
  • Clean MVVM architecture

Tech Stack: Kotlin, Hilt, Coroutines, Coil, Room, Retrofit, MVVM

Architecture: Repository pattern with local database as single source of truth. API data is cached locally and served from Room database.


Cache-first strategy for API response caching to local storage.

Stars

Features:

  • Cache-first data loading strategy
  • Automatic cache invalidation
  • Offline-first architecture
  • Seamless online/offline transitions

Use Case: Apps that need to work reliably with intermittent network connectivity while keeping data fresh.


📂 What You'll Find Here

This GitHub contains:

  • Android architecture experiments
  • Clean code samples
  • FinTech-oriented patterns
  • Real solutions to real problems

Code here reflects production thinking, not tutorials.


🏆 Achievements

Arctic Code Vault Starstruck Pull Shark


🧠 Development Philosophy

✅ Single Responsibility — Each class has one job
✅ Testability First — Write code that can be tested in isolation
✅ Performance Matters — Optimize for real constraints
✅ Fail Safely — Systems should degrade gracefully
✅ Simplicity Scales — Better than cleverness
✅ FinTech Code Must Be Boring and Correct

📫 Connect

💼 LinkedIn · 🗂️ GitHub · 📍 Cairo, Egypt


☕ Support My Work

Buy Me A Coffee


Star my repositories if you find them useful!

Profile Views

Always learning. Always shipping.

Pinned Loading

  1. Kotlin-Base-MVVM Kotlin-Base-MVVM Public template

    💎 Android Base Project with Kotlin and MVVM applying clean architecture

    Kotlin 122 24

  2. News-App News-App Public

    Sample news app using Kotlin, Hilt, Coroutines, Coil, Room, Retrofit

    Kotlin 2

  3. Biometric-With-Crypto Biometric-With-Crypto Public

    🔐 A sample app that demonstrates usage of Cipher for Encryption and Decryption in android with benefits of biometric authentication.

    Kotlin 9 2

  4. kotlinFixture kotlinFixture Public

    Tool for generating dummy values for unit test in android

    Kotlin 11 3

  5. Network-Caching Network-Caching Public

    A sample app that demonstrates cache first strategy for caching api response to local storage

    Kotlin 1

  6. Network-Error-Handling Network-Error-Handling Public

    💎 A sample app that demonstrates usage of Retrofit Adapters to handle api response and exceptions within a clean architecture app.

    Kotlin 1