Mobile Software Engineer based in Tunis, building a production fintech wallet at Maarpay — GCC and MENA markets, real money, real users, no room for "close enough."
I work across native Android, native iOS, and Flutter, and pick whichever one the problem actually needs — not whichever one is trendy.
flowchart LR
Presentation -->|reads| Domain
Data -->|implements| Domain
Domain -.->|zero imports out| Pure(["pure business logic"])
style Domain fill:#102A71,stroke:#102A71,color:#fff
style Presentation fill:#02569B,stroke:#02569B,color:#fff
style Data fill:#F05138,stroke:#F05138,color:#fff
style Pure fill:transparent,stroke:#999,color:#999,stroke-dasharray:3 3
Domain imports nothing — no framework, no packages. Everything else depends inward.
- 🧪 Tests aren't optional. If it isn't verified, it isn't done.
- 🔐 Security is default-on — no secrets in code, no PII in logs, ever.
- ✂️ The smallest diff that fixes the root cause wins. No hero PRs, no drive-by rewrites.
- 🧭 Match the codebase you're in before introducing a new pattern to it.
- 📱 Verify on a real device, not just green CI.
| Discipline | What it covers |
|---|---|
| 🦋 Flutter Engineering | Dart · scalable state management · platform channels · isolates and performance profiling |
| 🤖 Android (native) | Kotlin · Jetpack Compose · Coroutines and Flow · dependency injection |
| 🍎 iOS (native) | Swift · SwiftUI · Combine · Keychain and biometrics |
| 🏛️ Architecture | Clean Architecture · modularization · domain-driven boundaries |
| ✅ Quality | Unit and widget testing · static analysis gates · code review discipline |
| 🛡️ Mobile Security | Secure local storage · certificate pinning · root/jailbreak detection · hardened release builds |
| 🚀 Release Engineering | CI/CD pipelines · staged rollouts · crash monitoring · store compliance |



