Ingénieur Logiciel, Consultant Indépendant

Mohamed Ali Hachicha

Verified Expert in Engineering

Je résous des problèmes. Je construis des logiciels et je les maintiens en production.

Mohamed Ali Hachicha
BaseSfax, Tunisie
ZoneGMT+1, à distance
StatutDisponible

01 Profil

Ce que je fais

Plus de quatre ans à construire des systèmes web et mobiles, puis à les exploiter en production. Des plateformes opérationnelles et de la donnée géospatiale, surtout.
Depuis janv. 2026 je le fais en indépendant, sous le statut d'Auto-Entrepreneur enregistré.

Je suis l'ingénieur principal sur la plateforme que j'exploite depuis deux ans. Je définis les standards d'ingénierie et je relis le code de l'équipe à l'aune de ces standards. Les fonctionnalités se construisent avec le client, du problème jusqu'au plan de livraison. Pas juste des tickets.

De l'architecture jusqu'à la CI/CD et aux déploiements en production.

Basé à Sfax, Tunisie. Travaille à distance.
Statut Consultant indépendant
Langues Arabe (langue maternelle), Anglais (C1), Français (intermédiaire)

02 Parcours

Où le travail a eu lieu

Janv. 2026 à aujourd'hui

Consultant Logiciel Indépendant

TEKAB DEV, à distance

Ingénieur principal sur Flying For You.

  • Refonte de la plateforme admin, du JavaScript legacy vers une application monopage typée, aujourd'hui l'outil quotidien de l'équipe opérationnelle.
  • Statistiques démographiques et géospatiales passées de 14 secondes à 2.
  • CI/CD et déploiements en production à ma charge.

Sept. 2022 à déc. 2025

Ingénieur Logiciel

TEKAB DEV, à distance

Backlog Genius, Merge Genius et Retchee d'abord, puis Flying For You.

  • Portail de reporting client de Flying For You réalisé de bout en bout, interface et API.
  • Moteur de simulation et suivi terrain en temps réel derrière la plateforme.
  • Fonctionnalités livrées dans l'application mobile React Native.

Janv. 2022 à sept. 2022

Développeur Full-Stack

MAS Entreprise

  • Pipelines de données financières pour l'audit et la conformité.
  • Applications mobiles intégrées à l'ERP pour les demandes de fabrication et le suivi des livraisons.

Mars 2021 à févr. 2022

Développeur Flutter

Freelance

  • Application e-commerce Flutter et Firebase, de la navigation jusqu'au paiement.
  • Suivi des commandes et scan de QR codes pour les commerciaux.

03 Projets sélectionnés

Construits, livrés, et maintenus

Projet phare, en production depuis 2+ ans

Flying For You

Plateforme opérationnelle de street marketing. Trois applications connectées : un back-office pour les équipes de FFY, un portail de reporting pour ses clients, et une application mobile pour les marketeurs terrain.

La refonte

Le back-office était en JavaScript legacy, sur des versions de framework qui n'étaient plus maintenables. Reconstruit en application monopage typée, écran par écran, pendant que l'ancien restait en production.

La carte

Le suivi des marketeurs en direct, la heatmap démographique et la surface sur laquelle les campagnes se dessinent : une seule et même carte. Polygones, points et itinéraires vélo qui suivent les rues, chacun avec son propre style. Les plans entrent et sortent en KML, GPX et CSV.

Les tuiles

La heatmap était un raster PNG : lente à charger, impossible à cliquer. Les tuiles vectorielles étaient la solution, et Google Maps ne les gère pas nativement. J'ai donc écrit google-maps-vector-engine, publié sur npm sous licence MIT, et reconstruit le pipeline qui l'alimente : les statistiques INSEE transformées en pyramide de tuiles, du zoom 0 au zoom 15, aux niveaux IRIS et commune. Le temps d'exécution de ce pipeline a baissé de 60%.

Les données

Tracez une forme, la carte renvoie la population et les logements qu'elle contient, pondérés par la part de chaque IRIS de l'INSEE que cette forme recouvre. Cela prenait 14 secondes. C'est aujourd'hui 2 secondes en moyenne. La reconstruction a aussi corrigé des défauts de calcul de la version d'origine.

L'échelle

Le suivi terrain en temps réel ingère des centaines de milliers de pings GPS par jour. Une mission en cours se dessine en polyligne qui se coupe à chaque pause du marketeur, à côté d'un graphique distance/temps avec lequel elle se survole en miroir. La surveillance des géofences détecte un marketeur qui quitte sa zone ou qui manque une confirmation, puis escalade vers le marketeur et vers l'admin. C'est l'isolation de l'état de la carte du reste de l'état applicatif qui empêche ce flux de dégrader l'interface.

La responsabilité

Je prends en charge la CI/CD et les déploiements en production, y compris le diagnostic d'incidents sous trafic réel et l'ajout du monitoring qui fera remonter le suivant plus tôt.

Stack

Ruby on Rails React Next.js TypeScript React Native (Expo) Python PostgreSQL PostGIS Docker QGIS GeoPandas Google Maps API OpenRouteService Données INSEE AWS (S3, CloudFront) Scalingo Cloudflare

TallyGrid

/ 02

Jeu de puzzle logique sur Google Play. En réalité un solveur de contraintes avec une grille par-dessus.

  • Chaque grille générée est prouvée comme ayant exactement une solution, par un compteur exact de solutions utilisant la propagation de contraintes et le backtracking.
  • Un second solveur ne travaille qu'à partir de règles de déduction humaines. C'est ainsi que le jeu garantit qu'il n'y a jamais besoin de deviner.
  • L'estimation de la difficulté et les indices découlent tous deux de ce solveur : un indice montre la déduction suivante, pas la réponse.
  • Classement offline-first : les scores sont mis en file localement et se synchronisent au lancement suivant.
Unity C# Cloudflare Workers D1 Firebase

Merge Genius

/ 03

Relecture automatisée de pull requests. Lit les merge requests GitLab via webhooks, signale les bugs, note la qualité, et publie le retour sur la MR.

  • 95% de précision de détection sur des centaines de PR par semaine.
  • Prompts et budgets de tokens ajustés pour que les gros diffs soient relus sans sortir du contexte.
  • Un système de scoring qui suit l'évolution de la qualité du code dans le temps.
Express.js GitLab API OpenAI API

Backlog Genius

/ 04

Générateur de backlog par IA. Prend un brief de projet et retourne un backlog agile structuré, éditable avant tout envoi, puis en un clic dans ClickUp.

  • Temps de planification réduit de 50%.
  • Réalisation du générateur et de la logique de prompts.
Vue 3 NestJS OpenAI API ClickUp API

Retchee

/ 05

Plateforme de recrutement automatisée. Candidatures en vidéo et au format story, avec suivi automatisé.

  • Temps de workflow recruteur réduit de 35%.
  • Réalisation de l'interface recruteur et du backend NestJS/Prisma derrière.
NestJS Vue.js Prisma Supabase PostgreSQL Docker

MAS Entreprise

/ 06

Deux missions : des pipelines d'audit et de conformité pour la finance intersociétés, et des applications mobiles intégrées à l'ERP pour la fabrication.

  • Détection d'anomalies en temps réel sur les factures et paiements intersociétés, alimentant le reporting d'audit et de conformité.
  • Ingestion quotidienne des taux de change et des indicateurs bancaires depuis 15+ sources bancaires tunisiennes et marocaines, à 99,9% de précision.
  • Applications mobiles ERP avec traçabilité par QR code et un microservice Flask derrière. Efficacité de fabrication en hausse de 25% sur 50+ commandes quotidiennes.
Python Selenium Pandas Flutter Flask C# (.NET) SQL Crystal Reports Jenkins

04 Open source

Écrit parce que rien d'autre ne le faisait

MIT, publié sur npm

google-maps-vector-engine

Google Maps ne gère pas nativement les tuiles vectorielles Mapbox. Ceci les affiche : des tuiles PBF sur une google.maps.Map, avec recherche rapide des entités, sélection au clic, et un style modifiable à l'exécution.

TypeScript Tuiles vectorielles Mapbox (MVT/PBF) API Google Maps JavaScript En production sur Flying For You

Installation

npm i google-maps-vector-engine

05 Stack

Mes technologies

/01 Langages

TypeScript JavaScript Python Ruby Java C# Dart

/02 Frontend

React Next.js Vue.js TanStack Query TanStack Router Zustand Redux Toolkit Pinia Tailwind

/03 Backend

Ruby on Rails NestJS Express.js Flask

/04 Mobile et jeux

React Native (Expo) RNBackgroundGeolocation Flutter Unity

/05 Données

PostgreSQL PostGIS MySQL MongoDB Redis Prisma Firebase Supabase

/06 Cloud et DevOps

Docker GitLab CI/CD GitHub Actions AWS (S3, CloudFront) Jenkins Scalingo OVH Cloudflare Cloudflare Workers Vercel

/07 Géospatial

Tuiles vectorielles (MVT/PBF) QGIS GeoPandas OpenRouteService Données INSEE

/08 API

Google Maps OpenAI GitLab ClickUp

/09 Tests

Vitest Storybook SonarQube

Cette liste, c'est ce avec quoi j'ai livré, pas une barrière. La plupart, je l'ai apprise parce qu'un problème est arrivé et la demandait. Le suivant se passera pareil.

06 Ma méthode

Travailler avec l'IA

J'utilise Claude Code et Cursor tout au long du développement. Ils me rendent plus rapide. La réflexion reste la mienne.

01

Réflexion et conception

Je prends en charge la résolution de problèmes, l'architecture et les arbitrages. Ces décisions sont les miennes, pas celles de l'outil.

02

Développement

Claude Code et Cursor m'aident à livrer plus vite, avec un code plus cohérent, pour consacrer plus de temps aux parties difficiles.

03

Tests et refactoring

J'utilise l'IA pour repérer les cas limites et relire mon propre travail avec un regard neuf.

08 Contact

Un projet, ou un problème à résoudre ?

La plupart des missions, je les prends seul. Quand un projet demande une équipe complète, je l'assemble : ingénieurs, designers et testeurs QA avec qui j'ai déjà livré.

Merci d'indiquer votre nom.

Saisissez une adresse email valide.

Écrivez un message d'au moins 10 caractères.

Ouvre votre application email avec le message prérempli.