EN
Portrait de Mohamed 👋

Bonjour, je suis Mohamed Hamed.
Ingénieur Logiciel.

Plus de 2 ans d'expérience dans le développement d'applications web modernes, performantes et fiables.

À propos

Bonjour, je suis Mohamed Hamed. Je suis ingénieur logiciel avec plus de 2 ans d'expérience. J'aime concevoir des sites web et applications fiables. Mon objectif est de créer des solutions robustes et centrées sur l'utilisateur.

Je suis également très intéressé par la contribution aux projets open-source et l'exploration de nouvelles technologies qui repoussent les limites du web.

Projets

Whispr Notes — Transcription Vocale Temps Réel en Local — Téléchargement du modèle Whisper au premier lancementWhispr Notes — Transcription Vocale Temps Réel en Local — Écran d'enregistrement, prêt à transcrireWhispr Notes — Transcription Vocale Temps Réel en Local — Écran des notes avec recherche

Whispr Notes — Transcription Vocale Temps Réel en Local

Application Expo / React Native transcrivant la parole en temps réel entièrement en local avec OpenAI Whisper Base (EN) via ExecuTorch — aucun serveur, aucune clé API, aucun audio ne quitte le téléphone. Les buffers audio de 100 ms sont transmis au modèle au fil de la parole, un modèle de détection d'activité vocale FSMN valide le texte après ~300 ms de silence, et le PCM brut est écrit directement dans un fichier WAV sur disque : la durée d'enregistrement est donc limitée par l'espace libre et non par la mémoire. Les transcriptions sont enregistrées comme notes recherchables et taggables, avec lecture audio et export txt/json/srt.

TypeScriptReact NativeExpoExecuTorchWhisperOn-Device MLVoice Activity Detectionexpo-router

SNCF DelayFlow — Pipeline d'Analyse des Retards TGV

Pipeline ETL orchestré sur 3 sources SNCF Open Data (~18 000 enregistrements) avec PySpark. Transformation Spark SQL, stockage Parquet, modèle Random Forest Regressor (Scikit-learn) pour la prédiction des retards, et dashboard interactif Streamlit/Plotly pour le diagnostic des causes racines (infrastructure, trafic, matériel roulant).

PythonPySparkSpark SQLScikit-learnParquetStreamlitPlotlySQLite

DataHub PFAS — Entrepôt de Données Environnementales & BI

Pipeline ETL sur 929 452 mesures (CNRS Portail Data Hub) : filtrage, conversion d'unités, enrichissement API PubChem. Schéma en étoile PostgreSQL 15 + PostGIS avec 4 vues matérialisées et 8 contrôles qualité. MongoDB 2dsphere (~36 000 polygones GeoJSON), API Flask, carte Leaflet.js et connecteur Looker Studio.

PythonPostgreSQLPostGISMongoDBFlaskLeaflet.jsLooker StudioPubChem API

Compétences

  • Java
  • Python
  • TypeScript
  • JavaScript
  • SQL
  • Bash
  • Spring Boot
  • Spring Security
  • JPA / Hibernate
  • Node.js
  • REST API
  • Flask
  • Angular
  • RxJS
  • React
  • Next.js
  • React Native
  • SCSS
  • Apache Spark
  • PySpark
  • Apache Airflow
  • dbt
  • Scikit-learn
  • PostgreSQL
  • PostGIS
  • MongoDB
  • MariaDB
  • SQLite
  • JUnit
  • Jest
  • Playwright
  • SonarQube
  • Streamlit
  • Plotly
  • Looker Studio
  • Tableau
  • Docker
  • Kubernetes
  • Terraform
  • Maven
  • GitLab CI/CD
  • GitHub Actions
  • AWS S3

Expérience Professionnelle

Développeur Full-Stack (Alternance)

LCL (Crédit Agricole)

Sept. 2025 – Sept. 2026

  • Recueil et analyse des besoins avec le PO ; conception, développement et maintenance de microservices Java 17 / Spring Boot 3 (Spring Data JPA / Hibernate) exposant des API REST sécurisées (Spring Security) et des flux web services sur les parcours d'ouverture de compte.
  • Développement full stack de nouvelles fonctionnalités sur un portefeuille d'applications utilisées par des milliers de conseillers : interfaces Angular 18 / TypeScript (HTML5, SCSS) responsive et intuitives, avec gestion d'état (RxJS, Signals, NgRx).
  • Maintenance évolutive et corrective, correction d'anomalies et amélioration continue des performances (lazy loading, cache, optimisation des bundles) : temps de chargement réduit de 28 %.
  • Tests unitaires (JUnit, Jest), tests d'intégration et E2E (Playwright) ; qualité de code (SonarQube), revues de code, recette et déploiement en production.
  • DevOps / CI-CD (Maven, Git, GitLab CI, scripts Shell) ; Agile Scrum / Kanban sous Jira et Confluence.
Java 17Spring Boot 3Spring SecurityJPA / HibernateAngular 18TypeScriptRxJSNgRxSCSSJUnitJestPlaywrightSonarQubeMavenGitLab CI/CDJira

Développeur Full-Stack

Software Savants

Nov. 2023 – Août 2024

  • Développement back-end (Python, Node.js) et intégration de flux de données avec une API nationale de santé (HL7 FHIR) : règles d'éligibilité et workflows de remboursement.
  • Pipelines CI/CD (GitLab) pour des déploiements automatisés sur cycles produits courts.
PythonNode.jsFrappeMariaDBHL7 FHIRREST APIGitLab CI/CD

Développeur Full-Stack (Stage)

Ibtikar Technologies

Févr. 2023 – Sept. 2023

  • Application web d'administration Next.js / Node.js : modélisation de données et requêtes SQL ; application mobile React Native / TypeScript (synchronisation hors ligne).
Next.jsReactNode.jsTypeScriptReact NativeSQL

Formation

Master Informatique

Université Claude Bernard Lyon 1

Sept. 2024 – Sept. 2026

Big Data, Cloud Computing, Bases de Données Distribuées, Architecture Logicielle, Virtualisation, Applications Web Temps Réel, Sécurité.

Licence Informatique

Université de Nouakchott

Janv. 2021 – Juil. 2023

Algorithmes, Structures de Données, Développement Web, Bases de Données.

Contributions Open Source

  • Checkstyle

    7 PRs fusionnées dans le moteur d'analyse statique et son build : corrections de faux positifs dans IndentationCheck sur les expressions new (#18614) et ajout du séparateur de ligne attendu au message de violation de NewlineAtEndOfFileCheck (#18619) ; intégration de MultiFileRegexpHeader dans sun_checks.xml pour couvrir la règle 3.1.1 du style Sun, jusque-là non couverte (#20812) ; refactorisations booléen vers enum dans RequireThisCheck et LineWrappingHandler ; et deux corrections de build.

  • PMD

    3 PRs fusionnées corrigeant des faux positifs dans des règles d'analyse statique — deux en Java (UnusedLocalVariable pour les variables de pattern dans un for-each sans accolades, et un échec du parseur sur les expressions switch dans les appels au constructeur super()) et une en Apex (FieldDeclarationsShouldBeAtStart avec les propriétés). Publiées dans PMD 7.20.0 et 7.21.0.

  • chalk

    Optimisation de performance fusionnée dans la bibliothèque de stylisation de terminal : les appels à deux arguments comme chalk.red('hello', 'world') utilisent désormais la concaténation de chaînes au lieu d'Array#join, soit un gain mesuré de 2,7x sur ce chemin sans régression sur les autres formes d'appel (PR #670).

  • WeasyPrint

    Prise en charge de la langue pour la propriété CSS text-transform dans le moteur de rendu HTML/CSS vers PDF : les passages en majuscules et minuscules respectent désormais l'attribut lang de l'élément, ce qui corrige les correspondances turques i/İ et ı/I ainsi que les caractères grecs accentués, mal gérés par les str.upper() et str.lower() par défaut de Python (PR #2590, fusionnée en v68.0).

Contact

N'hésitez pas à me contacter pour une collaboration ou juste pour dire bonjour !

M'écrire