# Mouhamadou Madeniyou SALL > Software Engineer — Artificial Intelligence & Data. Software engineer specialising in Artificial Intelligence & Data (IADB) at École Supérieure Polytechnique in Dakar. I ship production systems for clients in France, Madagascar and Senegal: decision platforms and machine-learning models, web and mobile applications, application security and containerised infrastructure. Twice a technical team lead. Portfolio of Mouhamadou Madeniyou SALL, based in Thiès, Senegal. Availability: Dakar & remote. Contact: contact@madeniyou.com. 49 original projects, 13 clients and organisations across France, Madagascar and Senegal, 11 languages, 4 years of practice. Twice a technical team lead: NËBB (6 people) and BoviBot (3). ## Pages - [Home](https://madeniyou.com/en) : profile, featured work, client engagements and working method. - [Work](https://madeniyou.com/en/projects) : 11 detailed case studies and 16 more projects. - [Technologies](https://madeniyou.com/en/technologies) : an index of every technology, linked to the projects and clients that use it. - [Repositories](https://madeniyou.com/en/repositories) : inventory of 62 GitHub repositories, forks and private repos labelled. - [About](https://madeniyou.com/en/about) : education, engagements, skills and academic work. - [Contact](https://madeniyou.com/en/contact) : form, contact details and frequently asked questions. - [French version](https://madeniyou.com/) : the entire site in French. ## Case studies - [NËBB](https://madeniyou.com/en/projects/nebb) : A citizen IoT and AI platform monitoring air pollution in Bargny and Diamniadio, with four machine-learning models running in production. Problem: People living beside Senegal's industrial zones breathe air nobody measures — and affordable sensors drift too much to be trusted as they are. Outcome: Ten containerised services, four production models and nineteen supervision screens: PM2.5 forecasting with a 95% confidence band, automatic sensor calibration, anomaly detection and an interpolated heat map. Technologies: FastAPI, PostgreSQL / PostGIS, pgvector, InfluxDB 2.7, Redis 7.2, Mosquitto MQTT, Prefect 3, APScheduler, PyTorch, Prophet, Scikit-learn, Docker Compose, React, Leaflet, Recharts. - [3D e-commerce configurator](https://madeniyou.com/en/projects/configurateur-3d) : A technical audit followed by a security and evolution engagement on a live 3D product configurator, for a French end client. Problem: A series of seemingly unrelated defects — missing documents, inconsistent discounts, erratic numbering — all traced back to two structural decisions. Outcome: Three months delivered and signed off, 9 functional tests out of 9: payment chain secured server-side, centralised document store, search engine and reliable numbering. Technologies: React 18, Vite, Three.js, React Three Fiber, drei, Zustand, GSAP, Material UI, Emotion, Node.js, Express, MySQL, Stripe, AWS S3, pdf-lib, Nodemailer, Winston, Jest. - [GasyMove / TucTuc](https://madeniyou.com/en/projects/gasymove) : A ride-hailing and delivery platform in Madagascar: a Flutter app for riders and drivers, mobile-money payments and two real-time admin dashboards. Problem: Building a mobility service in Madagascar means designing for unstable networks and a payment ecosystem that has nothing to do with card payments. Outcome: A dual-role mobile app with Google Maps and mobile money, an admin dashboard (KPIs, KYC, transactions) and a restaurant dashboard driven by live orders. Technologies: Flutter, Firebase, Next.js 16, TypeScript, Tailwind CSS, Google Maps, Mobile Money. - [KÀLAMA](https://madeniyou.com/en/projects/kalama) : A West African EdTech platform: a course marketplace, live classes and mobile-money payments, built as microservices. Problem: Existing online course platforms assume a bank card and a stable connection — two assumptions that are false in West Africa. Outcome: Live in production at kàlama.com: a separate authentication service behind an Nginx gateway, BigBlueButton live classes, mobile-money payments through PayTech with asynchronous IPN confirmation, and an internal wallet. Technologies: FastAPI, SQLAlchemy 2.0, PostgreSQL, Redis, BigBlueButton, PayTech, Nginx, Docker, Cloudflare, boto3 / S3, slowapi, React 18, Material UI, Vite. - [TerangaID](https://madeniyou.com/en/projects/terangaid) : A mobile digital-identity wallet: certificate-based authentication, CSR generation, and private keys held by hardware with an explicit software fallback. Problem: A sovereign digital identity cannot keep its private keys in the app's file system — it needs hardware isolation. Outcome: A wallet shipped on Android and iOS: biometric authentication, certificate lifecycle management, private keys that cannot be extracted from the TEE. Technologies: React Native, TypeScript, Kotlin, PKI X.509, CSR, Android Keystore, react-native-keychain, react-native-biometrics, WebCrypto. - [SenAgriConnect](https://madeniyou.com/en/projects/senagriconnect) : A web platform for Senegalese agriculture: an interactive regional map, AI-assisted search, a crop and best-practice database, and a producer–buyer social feed. Problem: Senegalese agronomic information exists, but it is scattered, never localised, and never connects a producer to a buyer. Outcome: An interactive map of farming regions with weather and producer locations, an AI-assisted search engine, a regional best-practice database and a social feed with notifications. Technologies: Next.js, TypeScript, PostgreSQL, Interactive mapping, AI-assisted search, Notifications. - [BoviBot](https://madeniyou.com/en/projects/bovibot) : Cattle-herd management where the business logic lives in the database: stored procedures, triggers and scheduled events in PL/SQL, plus an AI assistant for farmers. Problem: A herd has time-based rules — vaccination reminders, veterinary checks — that a web application only triggers if somebody opens the page. Outcome: Fifteen PL/SQL objects in the database — procedures, functions, alert triggers and scheduled events — with their unit-test suite, an AI assistant chat, and full documentation (conceptual and logical models, data dictionary, integrity audit). Technologies: Flask, MySQL, PL/SQL, Docker, REST API. - [SignaVox](https://madeniyou.com/en/projects/signavox) : An audio signal-processing application: real-time capture, FFT spectral analysis, frequency filtering, voice activity detection and IFFT reconstruction. Problem: The brief banned every classic filter — Butterworth, Hanning, Hamming — and mandated a single rectangular frequency mask. A constraint that forces you through the spectral domain. Outcome: A complete chain — capture, VAD, FFT, rectangular mask, IFFT reconstruction — containerised, with automatic segmentation and short-silence merging. Technologies: Flask, NumPy, SciPy, librosa, pydub, sounddevice, matplotlib, Docker. - [GRASP](https://madeniyou.com/en/projects/graspr) : An exam-marking platform split into two distinct applications — one for students, one for teachers — with separate lifecycles. Problem: Students and teachers share neither permissions, nor load profile, nor peak usage — merging them produces an application that serves both badly. Outcome: Two interconnected Next.js applications, deployable and versionable independently. Technologies: Next.js, Docker, REST API. - [ScanNutrition](https://madeniyou.com/en/projects/scannutrition) : A Flutter nutrition scanner with image processing delegated to native C++ through dart:ffi. Problem: Real-time image processing for scanning is too expensive for Dart — but rewriting the whole app natively would be absurd. Outcome: A cross-platform Flutter interface with an image-processing pipeline in C++ called through dart:ffi. Technologies: Flutter, dart:ffi, CMake, Image processing. - [Face recognition — Python & Java](https://madeniyou.com/en/projects/reconnaissance-faciale) : Two parallel implementations of the same real-time face-recognition system, built to compare computer-vision ecosystems. Problem: Understanding what a vision framework actually gives you requires building the same thing twice. Outcome: Two working systems — Python/OpenCV and Java/JavaCV — with guided multi-pose enrolment and dynamic retraining. Technologies: OpenCV, face_recognition, JavaCV, Maven, tkinter, Swing. ## Client engagements - [INNOV4AFRICA](https://madeniyou.com/en/about) : Senegal, Since August 2026, Software engineer, AI & data — apprenticeship (development). First developer assigned to a new product, from a blank page: an AI-assisted lead-generation and advertising-campaign platform. Full scoping — specification, strictly isolated multi-tenant architecture, UML modelling across four views, competitive benchmark — then development, with a machine-learning and large-scale data component. The product has not been announced yet. - [E-TASKFORCE (client final français)](https://madeniyou.com/en/projects/configurateur-3d) : France, Jun – Sep 2026 (3 months), Technical audit & security engagement — freelance (development). Technical audit of a live 3D product configurator, then a security and document-layer engagement. Anonymised: five-year confidentiality and assigned intellectual property. 9 functional tests out of 9. - [GasyMove / TucTuc](https://madeniyou.com/en/projects/gasymove) : Madagascar, 2026, Mobile & web developer — freelance (development). Ride-hailing and delivery platform: Flutter app for riders and drivers with Google Maps and mobile money, an admin dashboard (KPIs, KYC, transactions) and a real-time restaurant dashboard. - [MPS SARL](https://madeniyou.com/en/about) : Senegal, 2026, Full-stack developer — freelance (development). Internal application suite in three services: an Angular frontend, a Spring Boot backend and a dedicated read-only analytics service feeding a decision dashboard. - [AzulStaff](https://madeniyou.com/en/about) : France, 2026, Full-stack developer — freelance (development). Staffing marketplace: real-time admin dashboard with a KYC review queue, assignment management, payments and ratings, protected by three layers of server-side guards. - [StackFood](https://madeniyou.com/en/about) : Senegal, 2026, Mobile & backend developer — freelance (development). Food ordering and delivery platform across four applications: customer, restaurant and courier apps in Flutter, backed by a Laravel API and back-office. - [Mon Associé](https://madeniyou.com/en/about) : France, 2026, Full-stack & mobile developer — freelance (development). 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. - [Vitabull](https://madeniyou.com/en/about) : France, 2026, Mobile developer — freelance (development). Native iOS and Android app in Flutter: Firebase Cloud Messaging push notifications, Stripe payments, and a documented trade-off study between a native app and a Progressive Web App before launch. - [Engy Partners](https://madeniyou.com/en/projects/terangaid) : Senegal, Jul – Oct 2025, Mobile developer — internship (development). TerangaID, a mobile digital-identity wallet: OpenID Connect authentication backed by Keycloak, alongside a hand-rolled certificate layer — keys generated inside the device's Trusted Execution Environment, hardware or software selection depending on the handset, CSR issuance, X.509 PKI validation on the backend and mnemonic-phrase recovery. - [KÀLAMA](https://madeniyou.com/en/projects/kalama) : Senegal, 2025 – 2026, Lead full-stack developer (development). Online course marketplace: async FastAPI backend, live classes over BigBlueButton, mobile-money payments through PayTech with instant payment notification and a user wallet, and a microservice architecture behind an Nginx gateway. - [Monster Piscine](https://madeniyou.com/en/about) : France, 2026, Architecture & estimation — design engagement (design only). Review of the tender documents, a four-layer architecture study (Flutter mobile, Firebase backend, separate web back-office, external services), work breakdown and estimation. Guiding principle: no sensitive data, critical computation or access right ever rests on client-side code. - [CHR Automate](https://madeniyou.com/en/about) : France, 2026, AI automation consulting — design engagement (design only). Scoping of a freelance collaboration on AI automation and integration for the hospitality sector: perimeter, integration stack and engagement terms. - [TGI — Tout en Génie Informatique](https://madeniyou.com/en/about) : Senegal, May – Jul 2024, Software developer — internship (development). Application modules on a live web product, in a team: business logic, SQL queries, JSON exchanges and code reviews. ## Areas of expertise - [Full-stack](https://madeniyou.com/en/technologies) : 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](https://madeniyou.com/en/technologies) : 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](https://madeniyou.com/en/technologies) : 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](https://madeniyou.com/en/technologies) : 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. ## Skills - [Languages](https://madeniyou.com/en/about#comp-titre) : Python, TypeScript, JavaScript, Java, Dart, Kotlin, C, PHP, SQL / PL-SQL, PowerShell, Bash, Swift (notions). - [AI, ML & Data](https://madeniyou.com/en/about#comp-titre) : Scikit-learn, Pandas, NumPy, SciPy, TensorFlow / Keras, Prophet, LSTM, Random Forest, XGBoost, SVM, Isolation Forest, k-means, Clustering hiérarchique, Ensemble Learning, Arbres de décision C4.5, Apriori, CRISP-DM, Kriging, Séries temporelles, Validation croisée, F1 / AUC-ROC, OpenCV, face_recognition, Gemini API, Groq API, Prompt engineering. - [Backend & APIs](https://madeniyou.com/en/about#comp-titre) : FastAPI, Flask, Spring Boot, Node.js / Express, Laravel, REST, SSE, JWT, OAuth2 / OIDC, SQLAlchemy, SQLModel, Alembic, Pydantic, Jinja2, Uvicorn, Gunicorn, JPA / Hibernate. - [Frontend & 3D](https://madeniyou.com/en/about#comp-titre) : Next.js, React 18, Angular, Svelte, TypeScript, Tailwind CSS, Material UI, Zustand, Three.js / R3F, GSAP, Recharts, Leaflet, Chart.js, shadcn/ui, Canvas API, WebSocket, Vite, Webpack, Rollup. - [Mobile](https://madeniyou.com/en/about#comp-titre) : React Native, Expo, Flutter, Android SDK, Kotlin, dart:ffi, Biométrie, Notifications push, Géolocalisation. - [Databases](https://madeniyou.com/en/about#comp-titre) : PostgreSQL / PostGIS, MySQL, Oracle PL/SQL, InfluxDB, MongoDB, Redis, Cassandra, ChromaDB, Firebase, Supabase, SQLite, Modélisation dimensionnelle, JSON / JSON Schema, XML / XPath / XSLT, YAML. - [Security](https://madeniyou.com/en/about#comp-titre) : PKI X.509, Keycloak, OIDC, JWT RS256, TEE, MFA / TOTP, RBAC, mTLS, Chiffrement AES-256, RSA / ECDSA, bcrypt / SHA, SSL / TLS, Kerberos, LDAP, RADIUS, Anonymisation, Kali Linux. - [Cloud, DevOps & Big Data](https://madeniyou.com/en/about#comp-titre) : Docker, Docker Compose, Nginx, Cloudflare, Terraform, Linux, Git / GitLab, Gitflow, CI/CD, GitHub Actions, GitLab CI, AWS S3, OpenStack, Hadoop, Apache Spark, OpenMP / MPI, systemd, Maven, Gradle. - [Architecture & methods](https://madeniyou.com/en/about#comp-titre) : Microservices, Clean Architecture, SOLID, Design Patterns GoF, Repository Pattern, Service Layer, MVC, UML, Business Intelligence, OLAP, Entrepôt de données, MQTT, Node-RED. - [Testing & quality](https://madeniyou.com/en/about#comp-titre) : pytest, JUnit, Tests fonctionnels, Revue de code, ESLint, Prettier, TypeScript strict, Type hints Python, Swagger / ReDoc, Winston. ## How I work - [How do I approach a new project?](https://madeniyou.com/en#approche-titre) : 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. - [Why do I favour server rendering?](https://madeniyou.com/en#approche-titre) : 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. - [What is my stance on complexity?](https://madeniyou.com/en#approche-titre) : 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. - [How do I work in a team?](https://madeniyou.com/en#approche-titre) : 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. ## Frequently asked questions - [Are you available for freelance work?](https://madeniyou.com/en/contact#faq-titre) : Yes. I take freelance engagements in full-stack, mobile, data and application-security work, from Dakar and remotely. I have delivered for clients in France, Madagascar and Senegal, under both French and Senegalese contract law. - [What kinds of projects do you take on?](https://madeniyou.com/en/contact#faq-titre) : Production web and mobile applications, data and machine-learning platforms, technical audits and security remediation. I also take design-only engagements — architecture, estimation, work breakdown — with no development. - [Which technologies do you reach for first?](https://madeniyou.com/en/contact#faq-titre) : Python with FastAPI or Flask on the backend, TypeScript with Next.js or React on the web, Flutter and React Native on mobile, PostgreSQL and Firebase for data, Docker and Nginx for deployment. The choice follows the project's binding constraint, never a preference. - [Do you work remotely?](https://madeniyou.com/en/contact#faq-titre) : Yes — most of my engagements run fully remotely, including those for French clients. I am based in Thiès and available in Dakar for in-person meetings. - [How quickly do you reply?](https://madeniyou.com/en/contact#faq-titre) : Within 48 working hours at most, by email or through the form on this page. For a scoping request, expect a first architecture and work-breakdown proposal within a week. - [Can you take over an existing codebase?](https://madeniyou.com/en/contact#faq-titre) : Yes — it is a significant part of what I do. On a recent engagement I worked on an e-commerce platform already live in production: technical audit, root-cause identification, then security remediation and a rebuild of the document layer. ## Optional - [Résumé (PDF)](https://madeniyou.com/cv/Resume-Mouhamadou-Madeniyou-SALL-EN.pdf) : full background, two pages, optimised for applicant tracking systems. - [GitHub](https://github.com/MADENIYOU) : @MADENIYOU - [LinkedIn](https://www.linkedin.com/in/mouhamadou-madeniyou-sall-2bb97b264/) : Mouhamadou Madeniyou SALL - [Sitemap](https://madeniyou.com/sitemap.xml) : every URL on the site, with its language alternates. - [malaw](https://github.com/MADENIYOU/malaw) : JavaScript project. - [xsd2java-gen](https://github.com/MADENIYOU/xsd2java-gen) : Générateur de Code Java à partir de XSD - [PPP-surveillance](https://github.com/MADENIYOU/PPP-surveillance) : Python project. - [PPP-md](https://github.com/MADENIYOU/PPP-md) : Open source project. - [azulstaff-admin](https://github.com/MADENIYOU/azulstaff-admin) : TypeScript project. - [azulstaff](https://github.com/MADENIYOU/azulstaff) : Dart project. - [msp-analytics](https://github.com/MADENIYOU/msp-analytics) : Java project. - [ceevote](https://github.com/MADENIYOU/ceevote) : Python project. - [PolyManager-DIC2](https://github.com/MADENIYOU/PolyManager-DIC2) : Java project. - [bovibot](https://github.com/MADENIYOU/bovibot) : Projet d'intégration d'IA et de bases de données avancées pour la gestion d'un élevage bovin. - [Traitement-signal-vocal](https://github.com/MADENIYOU/Traitement-signal-vocal) : application web avec Flask comportant deux parties complémen taires portant sur le traitement d’un signal vocal : la numérisation et segmentation (Partie 1), et l’analyse fréquentielle avec filtrage (Partie 2) - [spring-boot-app](https://github.com/MADENIYOU/spring-boot-app) : Java project. - [angular-app](https://github.com/MADENIYOU/angular-app) : TypeScript project. - [Tp1BigData](https://github.com/MADENIYOU/Tp1BigData) : Java project. - [face_recognition_app_java](https://github.com/MADENIYOU/face_recognition_app_java) : Java project. - [reconnaissance_faciale](https://github.com/MADENIYOU/reconnaissance_faciale) : Python project. - [frontend-wallet](https://github.com/MADENIYOU/frontend-wallet) : Interface de l'application concernant le wallet - [emploidutemps](https://github.com/MADENIYOU/emploidutemps) : TypeScript project. - [Techno-web](https://github.com/MADENIYOU/Techno-web) : HTML project. - [deco-elegance](https://github.com/MADENIYOU/deco-elegance) : TypeScript project. - [projet-java](https://github.com/MADENIYOU/projet-java) : Java project. - [design-pattern-conception](https://github.com/MADENIYOU/design-pattern-conception) : Java project. - [design-pattern](https://github.com/MADENIYOU/design-pattern) : Projet de Patron de conception en Java - [dashboardagriculture](https://github.com/MADENIYOU/dashboardagriculture) : Projet de PPP pour la réalisation d'une plateforme de centralisation numérique de l'information agricole - [GrasprEval](https://github.com/MADENIYOU/GrasprEval) : Rendu du projet de développement web de la plateforme de correction d'examens pour le professeur