Mohamed Rai, Retour en haut

CTO chez Next Octet

Mohamed RaiCTO / Ingénieur logiciel

Je conçois des logiciels de production à la croisée de l’ingénierie, du produit et de la technologie : je dirige l’ingénierie chez Next Octet et je reste impliqué dans le code.

Je conçois et livre des applications Flutter sur Appwrite et Firebase, avec intégrations de paiement et publications sur les stores, pour Android, iOS et le web. Mon parcours vient de la recherche en machine learning.

Actuellement
CTO, Next Octet · depuis juin 2024
En production
Applications publiées sur Google Play et l’App Store
Plateformes
Android · iOS · Web avec une seule base de code Flutter
Basé à
Tamesna, Maroc

01Projets sélectionnés

Des applications en production, sur les stores.

Cinq produits publiés par Next Octet sur Google Play et l’App Store, développés en Flutter sur Appwrite et Firebase. En tant que CTO, je suis responsable de leur architecture, de leurs intégrations et de leurs publications.

Écran d’accueil de GerPayPlus avec recherche, services mis en avant et catalogue de produits
Formulaire de commande d’un produit dans GerPayPlus
Détail d’une commande GerPayPlus avec statut terminé, détail du paiement et historique

PaiementsAndroid · iOS

GerPayPlus

Une application de paiement multiplateforme sécurisée pour les transactions financières internationales.

Pour les utilisateurs qui envoient et suivent des paiements internationaux depuis une application mobile, avec un paiement géré par Stripe.

Points clés

  • Intégration des paiements Stripe
  • Suivi des transactions en temps réel
  • Deep linking pour les redirections de paiement
  • Flutter
  • Appwrite
  • Stripe

Paiements

GerPayPlus

1 / 3

  1. Écran d’accueil de GerPayPlus avec recherche, services mis en avant et catalogue de produits
  2. Formulaire de commande d’un produit dans GerPayPlus
  3. Détail d’une commande GerPayPlus avec statut terminé, détail du paiement et historique

Écrans issus de la fiche publiée sur le store.

Écran d’accueil de GerPath avec les documents de consultation et le récapitulatif des rendez-vous
Section université de GerPath avec accès aux dossiers, candidatures, traductions et à la liste des universités
Section visa de GerPath avec accès au dossier de visa, au compte bloqué et à l’assurance santé

ÉducationAndroid · iOS

GerPath

Une plateforme qui accompagne les étudiants dans leur parcours académique vers l’Allemagne.

Pour les étudiants qui préparent des études en Allemagne et jonglent sinon entre documents, candidatures et rendez-vous sur des canaux séparés.

Points clés

  • Gestion documentaire
  • Suivi des candidatures
  • Prise de rendez-vous
  • Flutter
  • Appwrite

Éducation

GerPath

1 / 3

  1. Écran d’accueil de GerPath avec les documents de consultation et le récapitulatif des rendez-vous
  2. Section université de GerPath avec accès aux dossiers, candidatures, traductions et à la liste des universités
  3. Section visa de GerPath avec accès au dossier de visa, au compte bloqué et à l’assurance santé

Écrans issus de la fiche publiée sur le store.

Tableau de bord de MyChancenKarte avec la progression du CV
Offres d’emploi dans MyChancenKarte avec lieu, type de contrat et salaire
Création de CV dans MyChancenKarte, étape des informations personnelles

RecrutementAndroid · iOS

MyChancenKarte

Une plateforme de recrutement qui met en relation des professionnels qualifiés avec des employeurs en Allemagne.

Pour les professionnels qualifiés qui cherchent un emploi en Allemagne, et pour les employeurs qui les recrutent.

Points clés

  • Gestion de profils
  • Suivi des opportunités
  • Workflows de candidature via Stripe
  • Flutter
  • Appwrite
  • Stripe

Recrutement

MyChancenKarte

1 / 3

  1. Tableau de bord de MyChancenKarte avec la progression du CV
  2. Offres d’emploi dans MyChancenKarte avec lieu, type de contrat et salaire
  3. Création de CV dans MyChancenKarte, étape des informations personnelles

Écrans issus de la fiche publiée sur le store.

Accueil administrateur de Poncto avec la répartition des présences du jour et un rapport mensuel
Planning d’un employé dans Poncto avec jours travaillés et pauses
Écran de connexion de Poncto avec numéro CIN et code PIN

Gestion du personnelAndroid · iOS · Web

Poncto

Une plateforme de gestion de la présence et du temps de travail.

Pour les organisations qui ont besoin de relevés de présence vérifiables, ainsi que de la gestion des congés et des plannings de leurs équipes.

Points clés

  • Vérification GPS
  • Authentification biométrique
  • Synchronisation Firebase en temps réel des congés et plannings
  • Flutter
  • Firebase

Gestion du personnel

Poncto

1 / 3

  1. Accueil administrateur de Poncto avec la répartition des présences du jour et un rapport mensuel
  2. Planning d’un employé dans Poncto avec jours travaillés et pauses
  3. Écran de connexion de Poncto avec numéro CIN et code PIN

Écrans issus de la fiche publiée sur le store.

Tableau de bord web de Fidorma avec graphique des revenus et dépenses, déclarations en attente, factures non payées et demandes non lues

Gestion d’entrepriseAndroid · iOS · Web

Fidorma

Une plateforme de gestion pour cabinets comptables.

Pour les cabinets comptables qui gèrent clients, documents et échéances déclaratives, avec des collaborateurs aux niveaux d’accès différents.

Points clés

  • Gestion des clients et des documents
  • Suivi des déclarations
  • Contrôle d’accès basé sur les rôles
  • Tableaux de bord interactifs
  • Flutter
  • Firebase

Gestion d’entreprise

Fidorma

  1. Tableau de bord web de Fidorma avec graphique des revenus et dépenses, déclarations en attente, factures non payées et demandes non lues

Écrans issus de la fiche publiée sur le store.

Un framework, cinq produits.

Chaque produit est développé en Flutter et Dart. Ce qui change d’un produit à l’autre, c’est le backend, les intégrations et les plateformes de publication.

Produits
5
Plateformes
3
Plateformes backend
2
Fiches sur les stores
8
Backend, paiements, plateformes et fiches sur les stores pour chaque produit
BackendPaiementsPlateformesPublié sur
ProduitAppwriteFirebaseStripeAndroidiOSWebGoogle PlayApp Store
GerPayPlusPaiementsOuiNonOuiOuiOuiNonOuiNon
GerPathÉducationOuiNonNonOuiOuiNonOuiOui
MyChancenKarteRecrutementOuiNonOuiOuiOuiNonOuiOui
PonctoGestion du personnelNonOuiNonOuiOuiOuiOuiOui
FidormaGestion d’entrepriseNonOuiNonOuiOuiOuiOuiNon

Toutes les applications de Next Octet figurent sur la page développeur Next octet sur Google Play (s’ouvre dans un nouvel onglet). Les images des projets sont des écrans issus des fiches publiées sur les stores.

02Ingénierie & leadership

Des besoins jusqu’à la mise en production.

Je fixe la direction technique et je travaille dans le code. Le même processus mène chaque produit de la découverte à sa publication sur les stores.

  1. 01

    Découverte

    Recueillir les besoins avec les parties prenantes et traduire les objectifs métier en feuille de route technique.

  2. 02

    Architecture

    Structurer l’application en couches claires : Clean Architecture, SOLID, injection de dépendances et BLoC.

  3. 03

    Implémentation

    Développer une seule base de code Flutter/Dart pour Android, iOS et le web, sur un backend Appwrite ou Firebase.

  4. 04

    Intégration

    Connecter les API REST, les paiements Stripe, le deep linking et les notifications push et locales.

  5. 05

    Tests

    Garantir la qualité par les tests, les revues de code et l’intégration continue.

  6. 06

    Publication

    Publier sur l’App Store et Google Play : versioning, provisioning et conformité aux stores.

  7. 07

    Itération

    Maintenir les applications publiées et aligner chaque itération sur les objectifs métier.

Modèle d’architecture

Les projets Flutter suivent la Clean Architecture, avec des dépendances orientées vers le domaine. C’est le modèle général, pas le schéma d’un produit en particulier.

  1. PrésentationWidgets Flutter · état BLoC
  2. DomaineEntités · cas d’usage · interfaces de repository
  3. DonnéesImplémentations des repositories · sources de données · DTO
  4. PlateformeAppwrite · Firebase · REST · Stripe

Ma façon de diriger

  • Direction technique

    Je définis la vision technique, la feuille de route produit et la stratégie d’ingénierie de tous les logiciels de Next Octet.

  • Constitution d’équipe

    Je recrute, encadre et dirige les ingénieurs, et je coordonne développeurs, designers et parties prenantes.

  • Standards d’ingénierie

    J’instaure les standards de code, les pipelines CI/CD et les pratiques d’architecture de l’équipe.

  • Les mains dans le code

    Je conçois l’architecture et je développe moi-même les intégrations : backends Appwrite, passerelles de paiement et publications sur les stores.

03Parcours

De développeur Flutter à CTO.

  1. CTO

    Next Octet · Témara, Maroc

    Définit et exécute la vision technique, la feuille de route produit et la stratégie d’ingénierie pour l’ensemble des logiciels de l’entreprise.

    • Conçoit et supervise des applications Flutter/Dart pour Android, iOS et le web, avec Appwrite comme backend (Authentification, Bases de données, Stockage, Cloud Functions).
    • Pilote l’architecture logicielle : Clean Architecture, principes SOLID, injection de dépendances et gestion d’état BLoC.
    • Développe des intégrations API REST sécurisées avec des passerelles de paiement et des services tiers.
    • Gère les publications sur l’App Store et Google Play : versioning, provisioning et conformité aux stores.
    • Recrute, encadre et dirige les ingénieurs ; instaure les standards de code, les pipelines CI/CD et les bonnes pratiques d’architecture.
    • Aligne les initiatives technologiques sur les objectifs de l’entreprise pour raccourcir les cycles de livraison.
  2. Western African Coast Engineering

    Témara, Maroc

    1. Directeur de la Technologie (CTO)

      Avr 2024 — Juin 2024

      • A orienté les décisions d’architecture logicielle de l’organisation, en concevant des solutions Flutter multiplateformes.
      • A dirigé les décisions techniques mobiles et backend sur plusieurs projets, améliorant la maintenabilité grâce à des pratiques d’architecture modernes.
    2. Chef de Projet & Ingénieur Logiciel

      Juin 2023 — Avr 2024

      • A mené des cycles de projet complets, du recueil des besoins jusqu’au déploiement en production.
      • A développé des applications Flutter et des services backend pour des clients entreprises, en coordonnant développeurs, designers et parties prenantes.
      • A maintenu la qualité logicielle via les tests, les revues de code et l’intégration continue.
    3. Développeur Flutter

      Sep 2022 — Juin 2023

      • A développé des applications mobiles et web multiplateformes avec Flutter, la Clean Architecture et BLoC.
      • A intégré Firebase Authentication, Firestore, Cloud Functions, Cloud Storage et les notifications push ; a consommé des API REST et des SDK tiers.
      • A développé une application de gestion des sorties et de sécurité des élèves, déployée dans plusieurs écoles privées.
      • A livré une application web complète de gestion de cabinet comptable.
      • A publié et maintenu des applications sur l’App Store et Google Play.
  3. École Mohammadia d’Ingénieurs, Université Mohammed V

    Rabat, Maroc

    1. Ingénieur de Recherche — IA en Santé

      • A contribué à un système prédictif intelligent de pronostic pour le suivi personnalisé du traitement du cancer du sein au Maroc.
      • A appliqué le machine learning et le deep learning (TensorFlow, Scikit-learn) à des données cliniques pour modéliser l’évolution des patients.

Auparavant

  • Juil 2019

    Formation TIC · Huawei Technologies — Seeds for the Future, Shenzhen, Chine

    Formation pratique dans les laboratoires R&D de Huawei : 5G, LTE, intelligence artificielle, Big Data, Cloud Computing et IoT.

  • 2018 — 2019

    Tuteur Particulier · Centre de Soutien Rene-Descartes, Mers El Kheir, Maroc

    Cours de physique pour des élèves du secondaire, et accompagnement d’étudiants du supérieur en algorithmique, C et Python.

  • 2016 — 2018

    Roboticien · Club de Robotique FSR, Faculté des Sciences, Rabat, Maroc

    Conception et construction de robots autonomes et semi-autonomes : robot évitant les obstacles, robot télécommandé par Bluetooth avec son application mobile, robot suiveur de ligne et coffre-fort automatique.

04Formation & recherche

De la physique au machine learning, jusqu’aux applications en production.

Portrait de Mohamed Rai
Mohamed Rai · Tamesna, Maroc

Je suis arrivé au logiciel par la physique, la robotique et les télécommunications, puis j’ai mené des recherches universitaires en machine learning appliqué à la santé avant de passer à l’ingénierie de production.

À l’Université Mohammed V, j’ai contribué à un système prédictif de pronostic pour le suivi personnalisé du traitement du cancer du sein au Maroc, en appliquant TensorFlow et Scikit-learn à des données cliniques. Mes recherches doctorales portaient sur un système de recommandation basé sur le machine learning pour un traitement personnalisé.

  1. 01PhysiqueLicence, spécialité informatique, électronique et automatique
  2. 02RobotiqueRobots autonomes construits au Club de Robotique FSR
  3. 03TélécommunicationsMaster en informatique & télécommunications, et formation TIC Huawei à Shenzhen
  4. 04Machine learningRecherche en IA pour la santé et thèse sur les systèmes de recommandation

Formation

  1. 2021–2022

    Doctorant — Informatique

    ENSIAS, Université Mohammed V, Rabat

    Sujet de thèse : un système de recommandation basé sur le machine learning pour le traitement personnalisé du cancer du sein.

  2. 2019

    Master — Informatique & Télécommunications

    Faculté des Sciences, Université Mohammed V, Rabat

    Spécialité : Contenu Multimédia.

  3. 2017

    Licence — Physique

    Faculté des Sciences, Université Mohammed V, Rabat

    Spécialité : Informatique, Électronique et Automatique.

  4. 2013

    Baccalauréat — Sciences Expérimentales

    Lycée Mers El Kheir

    Option : Physique-Chimie.

Certifications

  • Python (Basic)HackerRank · 2022
  • Certificat EFSET d’AnglaisEF SET · 2022 · B2 Intermédiaire Avancé — 56/100
  • IBM / Coursera9 cours · 2021–2022
    • Data Visualization with Python2022
    • Machine Learning with Python2022
    • Data Analysis with Python2021
    • Data Science Methodology2021
    • Databases & SQL for Data Science2021
    • Python for Data Science, AI & Development2021
    • Python Project for Data Science2021
    • Tools for Data Science2021
    • What is Data Science?2021

Langues

Arabe
Langue maternelle
Français
Niveau professionnel
Anglais
Niveau professionnel

05Boîte à outils

Des compétences regroupées par usage.

Langages : Dart, Python, Java, C, SQL.

  • Ingénierie produit

    Mener un produit des besoins à la production.

    • Recueil des besoins
    • Feuilles de route techniques
    • Cycle de vie projet
    • Gestion des releases
    • Coordination des parties prenantes
  • Mobile & Web

    Une base de code, trois plateformes.

    • Flutter
    • Dart
    • Android
    • iOS
    • Flutter Web
    • Material Design
  • Architecture

    Un code qui reste maintenable en grandissant.

    • Clean Architecture
    • BLoC
    • SOLID
    • Injection de dépendances
  • Backend & Cloud

    Backends managés et logique serverless.

    • Appwrite
    • Firebase
    • Firestore
    • API REST
    • Cloud Functions
    • Fonctions serverless
    • Authentification
  • Intégrations

    Paiements, liens et notifications.

    • Stripe
    • Deep Linking
    • Notifications push
    • Notifications locales
    • API JSON
    • SDK tiers
  • IA & Data

    Issues de la recherche universitaire et de formations.

    • Machine Learning
    • Deep Learning
    • Systèmes de recommandation
    • TensorFlow
    • Keras
    • Scikit-learn
    • Pandas
    • NumPy
    • OpenCV
    • Matplotlib
  • DevOps & Outils

    Construire, livrer, recommencer.

    • Git
    • GitHub Actions
    • CI/CD
    • Publication App Store
    • Publication Google Play
    • Android Studio
    • IntelliJ IDEA
    • VS Code
    • Jupyter
    • LaTeX
  • Développement assisté par IA

    L’IA dans le travail quotidien.

    • Claude
    • Codex
    • ChatGPT

06Contact

Construisons quelque chose.

Un produit à livrer, une équipe à diriger ou une architecture à démêler ? Le plus rapide est de m’écrire par e-mail.

Tamesna, Maroc