DISPONIBLE EN FREELANCE & À DISTANCE

Je construis des systèmes mobiles qui tiennent en production.

Ingénieur Flutter senior, 6 ans de livraisons dans les télécoms, la fintech, la distribution de carburant et la logistique — des plateformes de gestion de flotte offline-first aux e-wallets et aux super apps télécoms. Je porte toute la chaîne, de l’architecture à la mise en production : intégrations natives, CI/CD et déploiement multi-stores.

+5
ANS À DÉVELOPPER DU MOBILE
+10 M
TÉLÉCHARGEMENTS CUMULÉS
+15
APPS LIVRÉES EN PRODUCTION
3
PLATEFORMES MOBILES COUVERTES

Sélection de projets

QUATRE ÉTUDES DE CAS · 2021 — 2026
01 — FLOTTE & OPÉRATIONS TERRAIN · FOLLOSOFT, CANADA · 2025 — AUJOURD’HUI

FolloTrac : d’une app Kotlin de 12 ans à une réécriture cross-platform et offline-first

FolloTrac est une application Android (Kotlin) vieille de 12 ans qui suivait les équipes terrain sans aucun mode hors ligne, et sans autre moyen de vérifier une intervention que de passer un appel. Sur un chantier d’environ cinq mois, notre équipe de trois personnes l’a réécrite en Flutter pour Android et iOS. Tout a commencé par FolloCrew, une app compagnon pour téléphone que j’ai construite afin que les chauffeurs — qui travaillent sur une tablette fixée dans le camion — puissent photographier les avant/après du déneigement directement sur le terrain. J’ai ensuite pris en charge l’architecture, l’approche offline-first et le suivi des visites par geofencing : détecter sans aucune action manuelle l’entrée d’un chauffeur dans une zone sous contrat, enregistrer le temps passé sur place et le synchroniser avec le backend pour repérer les écarts sur les interventions déclarées terminées. Résultat, FolloTrac 3.0 a apporté la navigation guidée, le suivi automatique de la couverture, un moteur de synchronisation hors ligne à l’épreuve des pertes, et une visibilité en temps réel sur toute la flotte pour les superviseurs.

RÔLEArchitecture & systèmes hors ligne : responsable de l’approche offline-first et de la détection de zones par geofencing au sein d’une équipe de refonte de trois personnes, en co-pilotant la stratégie de migration et la livraison.
DÉCISIONS D’ARCHITECTURE
Couche de données offline-first : persistance locale sans conflit, synchronisation automatique à la reconnexion
Suivi des visites par geofencing : détection d’arrivée sans action manuelle dans les zones sous contrat actif, enregistrement du temps passé sur place et synchronisation backend pour éviter les écarts sur les interventions terminées
Stack géospatiale sur Mapbox — suivi en direct, visualisation d’itinéraires, geofencing
Communication de flotte en temps réel via Pusher
App compagnon FolloCrew sur téléphone : conçue pour que les chauffeurs photographient les avant/après d’une intervention, hors de portée depuis la tablette fixée au véhicule
IMPACT
+7 000 chauffeurs actifs par jour en pleine saison
100 % des parcours critiques fonctionnels sans aucune connectivité, grâce à la couche offline-first
2 apps la tablette + FolloCrew sur téléphone
Support iOS a ouvert l’intégration des clients équipés d’iPad et élargi le marché adressable
NOTE TECHNIQUE

Ici, le hors ligne n’était pas une fonctionnalité, c’était la raison même de la migration. Chaque écriture se fait d’abord en local et fait office de source de vérité jusqu’à ce que la synchronisation la réconcilie — un chauffeur en zone blanche ne voit donc jamais de spinner, jamais d’erreur, et ne perd jamais son travail.

FlutterMapboxPusherOffline-first syncGeofencingFirebase PerformancePostHog (Session Replay & Events)Crashlytics
Tablette FolloTrac — carte en direct
FolloCrew
TABLETTE FOLLOTRAC · COMPAGNON FOLLOCREW
Omanoil — portefeuille, fidélité et localisation des stations
OMANOIL · PORTEFEUILLE · FIDÉLITÉ · STATIONS
02 — FINTECH & RÉSEAU CARBURANT · FOXCOD / OOMCO, OMAN · 2021 — AUJOURD’HUI

OOMCO : la plateforme mobile du distributeur national de carburant d’Oman

Oman Oil (OOMCO) est une application mobile d’entreprise à grande échelle qui porte l’expérience numérique d’Oman Oil Marketing Company. Elle réunit paiements sécurisés, programme de fidélité, transactions carburant en NFC, intégration des terminaux de paiement et services en station sur une seule plateforme, disponible sur iOS, Android et Huawei. J’ai dirigé le développement Flutter sur deux versions majeures (v4 et v5) : modernisation de l’architecture, création des fonctionnalités clés côté client et pilotage de l’évolution technique de la plateforme. Aujourd’hui, je continue d’en piloter l’expansion sur le marché saoudien.

RÔLELead Mobile Engineer : architecture, livraison des fonctionnalités, intégrations natives et évolution de la plateforme.
DÉFIS TECHNIQUES
App compagnon partenaire embarquée sur les terminaux de paiement : les pompistes encaissent le carburant et impriment les reçus à la pompe, le tout relié via les Platform Channels de Flutter
Couche d’engagement CleverTap : notifications push, messagerie in-app, segmentation, campagnes déclenchées par geofencing
Un seul pipeline de release visant Apple, Google Play et Huawei AppGallery
IMPACT
+400 k téléchargements sur iOS, Android et Huawei AppGallery
+100 M$ de transactions traitées via l’app
2 marchés : Omanoil à Oman, OOMCO KSA en Arabie saoudite
NOTE TECHNIQUE

Le terminal de paiement n’était pas un appareil, mais quatre — un par banque partenaire (Oman Arab Bank, Sohar Bank, Ahli Bank, Bank Muscat), chacune livrant son propre matériel et son SDK propriétaire, sans aucun support de Flutter. J’ai construit une abstraction Platform Channel qui a normalisé les quatre derrière une interface unique : les pompistes retrouvent le même parcours de paiement et le même design system, quel que soit le terminal branché.

NFCPlatform ChannelsPOS terminalsCleverTapGoogle MapsCodemagic
Raaz — budgets, transactions et score de santé financière
BUDGETS · TRANSACTIONS · SCORE DE SANTÉ FINANCIÈRE
04 — FINTECH · FOXCOD, OMAN · PUBLIÉE SUR LES DEUX STORES

Raaz : une app de finances personnelles qui lit vos comptes pour vous

Raaz est une application de finances personnelles qui aide ses utilisateurs à gérer leur argent en agrégeant leurs comptes bancaires, en catégorisant leurs transactions et en fournissant des analyses financières générées par IA. J’ai contribué à l’application Flutter en développant des fonctionnalités centrales, en améliorant l’architecture, en intégrant les services natifs et en accompagnant les mises en production sur iOS et Android.

RÔLEDéveloppement des fonctionnalités centrales, architecture et mises en production sur les stores.
DÉFIS TECHNIQUES
Agrégation bancaire sur des établissements à la qualité de données inégale
Catégorisation automatique des transactions, à laquelle l’utilisateur peut se fier et qu’il peut corriger
Analyses de santé financière générées par IA, présentées sans effet gadget
Parité cross-platform sur une interface dense en données et en graphiques
IMPACT
Cross-platform une seule base de code Flutter pour iOS et Android
Finance & IA budgets, catégorisation des transactions et analyses financières
FlutterBank aggregationAI insightsTDD
05 — TÉLÉCOMS · OOREDOO ALGÉRIE · 2024 — 2025

My Ooredoo, hériter d’une super app

My Ooredoo est la super app grand public destinée aux abonnés d’Ooredoo, construite et exploitée par un prestataire externe. J’ai piloté sa reprise technique : audits de code approfondis, revue d’architecture et documentation complète — de quoi transformer une dépendance fournisseur en un actif que l’équipe interne maîtrise entièrement.

My Ooredoo — écrans de compte, forfaits et recharge
NOTE TECHNIQUE

Hériter d’une super app construite par un prestataire, c’est de l’archéologie : je l’ai auditée écran par écran, j’ai cartographié l’architecture telle qu’elle était réellement — et non telle qu’elle était documentée — puis j’ai produit la feuille de route d’amélioration sur laquelle l’équipe interne s’appuie encore.

Sans prestataire : maîtrise interne
Audit complet : revue écran par écran
Documenté : pour une maintenabilité durable
FlutterCode auditArchitecture reviewTechnical documentation

Comment je travaille quand personne ne regarde le code

PRATIQUE D’INGÉNIERIE
A

Offline-first et temps réel dès la conception

Des apps terrain qui continuent de fonctionner en zone blanche ; des flottes qui communiquent via Pusher ; une synchronisation qui réconcilie au lieu de perdre des écritures. La connectivité est une optimisation, pas un prérequis.

B

Du natif là où Flutter s’arrête

Des Platform Channels vers des apps Apple Watch, des terminaux de paiement, des SDK d’OCR et de reconnaissance faciale. Cross-platform ne veut pas dire plus petit dénominateur commun.

C

La chaîne de release traitée comme un produit

Pipelines Codemagic, Flutter Flavors par environnement, déploiement automatisé vers Apple, Google Play et Huawei AppGallery. Livrer doit être ennuyeux, c’est le but.

D

La qualité comme culture, pas comme une étape

TDD introduit chez FoxCod, standards de revue de code établis, tests d’interface automatisés avec Maestro. Des pratiques qui survivent au projet qui les a vues naître.

E

Des systèmes plutôt que des écrans

J’ai construit un design system Flutter et une bibliothèque de composants réutilisables qui ont accéléré toutes les apps suivantes. Clean Architecture par défaut, pas comme une ambition.

F

Diriger par effet de levier

Accompagner des développeurs, auditer des bases de code héritées, écrire la documentation qui rend une reprise supportable, et négocier les compromis d’architecture directement avec les clients.

Parcours

2021 — AUJOURD’HUI
12/2025 — Aujourd’huiSenior Flutter Developer (Contract)Follosoft · Canada, à distancePilotage de la migration de la plateforme de flotte FolloTrac vers Flutter — architecture, couche de données offline-first, suivi par geofencing et intégrations Mapbox/Pusher, plus une app compagnon pour les chauffeurs.
12/2021 — Aujourd’huiLead Mobile DeveloperFoxCod · Oman, consultantLead mobile sur un large portefeuille d’apps — e-wallet OOMCO, Raaz, This Is YAY, Urban Octopus, Darrbak, et une app de pointage pour le ministère des Médias d’Oman — tout en introduisant le TDD, la CI/CD et un design system réutilisable dans l’équipe.
12/2024 — 12/2025Senior Mobile EngineerOoredoo Algeria · sur siteMaintenance de SnapSim, la plateforme de vente de SIM d’Ooredoo avec KYC par OCR et reconnaissance faciale, et pilotage de la reprise de la super app My Ooredoo auprès d’un prestataire externe. Introduction des tests d’intégration Maestro et des Flutter Flavors pour fluidifier la QA et les pipelines de release.
01/2023 — 12/2023Flutter Mobile DeveloperFreelanceDéveloppement d’une plateforme de covoiturage réservée aux femmes, d’une app de covoiturage et de livraison (Diimaak) avec paiements Stripe, et d’une app e-commerce sur un backend WooCommerce.
08/2021 — 12/2021Flutter Mobile DeveloperBrenco E&C · sur siteMaintenance et modernisation d’une app de casiers connectés pour la logistique de livraison e-commerce.
SOCLE
Flutter & Dart · Clean Architecture · TDD · Platform Channels · Flutter Flavors
ARCHITECTURE & ÉTAT
BLoC/Cubit · Riverpod · Provider · Offline-first & sync · REST/GraphQL (Dio/Retrofit)
GÉO & TEMPS RÉEL
Mapbox · Google / Huawei Maps · Geofencing · Pusher
PLATEFORMES & INTÉGRATIONS
iOS · Android · Huawei HMS · watchOS companions · POS terminals · OCR & ID verification
LIVRAISON & OBSERVABILITÉ
Codemagic CI/CD · Multi-store deployment · Maestro · Firebase / GCP · Crashlytics · CleverTap