Skip to content
M. SALL

AvailableDakar & remote

Software engineer,data andsystems that hold

I build systems that hold up in production — from sensor to pixel, from model to deployment.

original projectsrepositories whose code I wrote
50
clients & organisationsFrance, Senegal, Madagascar
12
languagesused on delivered projects
11
of practicesince 2022, ESP Dakar
4 years

Selected

Systems running in production

All work

ESP Dakar — cross-disciplinary team of 6 (AI & Big Data, Telecoms, Information Security)

NËBB

A citizen IoT and AI platform monitoring air pollution in Bargny and Diamniadio, with four machine-learning models running in production.

People living beside Senegal's industrial zones breathe air nobody measures — and affordable sensors drift too much to be trusted as they are.

  • FastAPI
  • PostgreSQL / PostGIS
  • pgvector
  • InfluxDB 2.7
  • Redis 7.2
  • Mosquitto MQTT

Freelance engagement through E-TASKFORCE LTD (French law)

3D e-commerce configurator

A technical audit followed by a security and evolution engagement on a live 3D product configurator, for a French end client.

  • React 18
  • Vite
  • Three.js
  • React Three Fiber

Freelance engagement — Madagascar

GasyMove / TucTuc

A ride-hailing and delivery platform in Madagascar: a Flutter app for riders and drivers, mobile-money payments and two real-time admin dashboards.

  • Flutter
  • Firebase
  • Next.js 16
  • TypeScript

Professional engagement

KÀLAMA

A West African EdTech platform: a course marketplace, live classes and mobile-money payments, built as microservices.

  • FastAPI
  • SQLAlchemy 2.0
  • PostgreSQL
  • Redis

Client work

They trusted me with their production

France, Madagascar, Senegal. Platforms that take payments, move people and run businesses — every day. Two pure design-and-architecture engagements are included, labelled as such.

MPS SARL

Senegal · 2026

Full-stack developer — freelance

Internal application suite in three services: an Angular frontend, a Spring Boot backend and a dedicated read-only analytics service feeding a decision dashboard.

  • Angular
  • Spring Boot
  • PostgreSQL
  • JWT
  • Business Intelligence

AzulStaff

France · 2026

Full-stack developer — freelance

Staffing marketplace: real-time admin dashboard with a KYC review queue, assignment management, payments and ratings, protected by three layers of server-side guards.

  • Next.js
  • Supabase Realtime
  • TypeScript
  • RBAC

StackFood

Senegal · 2026

Mobile & backend developer — freelance

Food ordering and delivery platform across four applications: customer, restaurant and courier apps in Flutter, backed by a Laravel API and back-office.

  • Flutter
  • Dart
  • Laravel
  • PHP
  • MySQL
  • Blade
  • API REST

Mon Associé

France · 2026

Full-stack & mobile developer — freelance

Two-part property platform: a Next.js 16 Progressive Web App backed by a Laravel 12 API, plus a Flutter mobile app. The engagement included a gap audit between the specification and the existing build.

  • Next.js 16
  • TypeScript
  • Laravel 12
  • PHP
  • Flutter
  • Dart
  • PWA

Domains

Four fields,one standard

Full-stack

End-to-end production applications, from the database schema to the user journey, deployment included.

  • Next.js
  • React 18
  • Angular
  • Svelte
  • TypeScript
  • Tailwind CSS
  • Material UI
  • Zustand
  • Vite
  • FastAPI
  • Flask
  • Spring Boot
  • Node.js / Express
  • Laravel
  • REST
  • SSE
  • JWT
  • SQLAlchemy
  • Alembic
  • JPA / Hibernate
  • PostgreSQL
  • MySQL
  • Microservices

AI & Data

Models trained, evaluated and shipped to production — not notebooks. Time series, anomaly detection, computer vision and signal processing.

  • Scikit-learn
  • Pandas
  • NumPy
  • SciPy
  • TensorFlow / Keras
  • LSTM
  • Prophet
  • Random Forest
  • XGBoost
  • SVM
  • Isolation Forest
  • k-means
  • Kriging
  • Ensemble Learning
  • Apriori
  • CRISP-DM
  • OpenCV
  • face_recognition
  • Gemini API
  • Groq API
  • FFT / IFFT
  • VAD
  • Apache Spark
  • Hadoop
  • Business Intelligence
  • Schéma en étoile
  • OLAP
  • InfluxDB
  • PostGIS
  • ChromaDB

Mobile

Cross-platform and native, under real field constraints: unstable networks, mobile money, hardware-backed security.

  • React Native
  • Expo
  • Flutter
  • Dart
  • Kotlin
  • Android SDK
  • Swift
  • dart:ffi
  • Platform Channels
  • Firebase
  • Firestore
  • Supabase Realtime
  • Biométrie
  • SecureStorage
  • Notifications push
  • Géolocalisation
  • Google Maps
  • Mobile Money
  • Stripe

Security & Infra

Identity, cryptography, application hardening and containerised deployment — including auditing what already exists.

  • Keycloak
  • OIDC
  • OAuth2
  • PKI X.509
  • TEE
  • JWT RS256
  • mTLS
  • MFA / TOTP
  • RBAC
  • AES-256
  • RSA / ECDSA
  • bcrypt / SHA
  • SSL / TLS
  • Kerberos
  • LDAP
  • RADIUS
  • Anonymisation
  • Kali Linux
  • Docker
  • Docker Compose
  • Nginx
  • Cloudflare
  • Terraform
  • Linux
  • CI/CD
  • GitHub Actions
  • GitLab CI
  • AWS S3
  • OpenStack
  • MQTT
  • Node-RED

Method

How I work

01
How do I approach a new project?
I start by identifying the constraint that cannot be negotiated — a latency budget, a security guarantee, a payment method, a network quality. The architecture follows from that constraint, never from a stack chosen in advance.
02
Why do I favour server rendering?
Because a page whose content only exists after JavaScript runs is invisible to some users and to most agents that read it. Server rendering is an accessibility decision before it is a performance one.
03
What is my stance on complexity?
An abstraction earns its place with a second real use case, never an anticipated one. I have regretted generalising too early far more often than duplicating once.
04
How do I work in a team?
I write architecture decisions down before the code, so they can be challenged while they are still cheap to change. Documenting a decision is worth exactly the time it saves the next person who reads it.

A project worthdoing properly ?

Based in Thiès, available in dakar & remote. I reply within 48 hours.