Disponible pour opportunités·Casablanca, Maroc

Adama KomiSoftware Engineer

// Full-Stack · Architecture · Systèmes distribués

J'imagine, conçois et développe des logiciels, des applications web et des applications mobiles. J'aime transformer des problèmes complexes en solutions fiables, maintenables et pensées pour évoluer. Diplômé en Génie Logiciel — Faculté des Sciences et Techniques de Mohammédia (FSTM), Université Hassan II de Casablanca. Disponible pour des opportunités en CDI, en freelance et en recherche.
NOWBuilding PayLith — SaaS de facturation
zsh — adama@portfolio
adama@portfolio~
À propos

Un ingénieur qui conçoit des produits, pas juste des interfaces.

Je considère le développement logiciel comme un exercice de résolution de problèmes avant d'être un exercice de programmation. Comprendre le besoin, identifier les contraintes et concevoir une solution adaptée sont des étapes aussi importantes que l'implémentation elle-même.

Au fil de mes projets académiques et personnels, j'ai appris à intervenir sur l'ensemble du cycle de développement : analyse des besoins, conception, développement, tests et déploiement. J'apprécie particulièrement les projets qui demandent de concilier exigences métier, qualité logicielle et évolutivité.

Je cherche constamment à améliorer ma manière de concevoir des logiciels en approfondissant des sujets tels que l'architecture logicielle, la modélisation métier, les systèmes distribués et les technologies émergentes. Pour moi, un bon logiciel n'est pas seulement fonctionnel : il doit être compréhensible, maintenable et capable d'évoluer avec les besoins.

Adama Komi
AK

Adama Komi

Software Engineer · Full-Stack Developer

Casablanca, Maroc

TRAITS
Autonome
Rigoureux
Orienté produit
Passionné
Disponible pour opportunités
Philosophie

Comment je conçois le logiciel.

Les technologies évoluent rapidement, mais certains principes restent intemporels. Ils guident ma manière de concevoir des logiciels robustes, maintenables et adaptés aux besoins réels.

// CORE PRINCIPLE

Clean Architecture

Je privilégie une séparation claire des responsabilités afin que la logique métier reste indépendante des frameworks et des choix techniques. Cette approche facilite les tests, la maintenance et les évolutions futures.

fondation de toute conception
// principe 02

Domain-Driven Design

J'accorde une grande importance à la compréhension du métier avant l'implémentation. Un logiciel est plus facile à faire évoluer lorsqu'il reflète fidèlement le langage et les règles du domaine qu'il modélise.

// principe 03

Simplicité avant complexité

Je préfère une solution simple, lisible et adaptée au contexte plutôt qu'une architecture complexe introduite prématurément. La complexité ne doit apparaître que lorsqu'elle répond à un besoin réel.

// principe 04

Évolutivité

Je conçois des applications capables d'évoluer progressivement, qu'il s'agisse d'ajouter de nouvelles fonctionnalités, de faire grandir l'équipe ou d'augmenter la charge, sans remettre en cause les fondations du projet.

Expertise

Une expertise full-stack, de l'architecture au déploiement.

Je maîtrise l'ensemble de la chaîne : backend robuste, frontend performant, mobile natif-cross, bases de données et architectures distribuées.

Backend

08
  • Java
  • Spring Boot
  • Node.js
  • NestJS
  • ExpressJS
  • Python
  • FastAPI
  • Flask
1 / 6

Frontend

04
  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
2 / 6

Mobile

02
  • React Native
  • Expo
3 / 6

Bases de données

03
  • PostgreSQL
  • MySQL
  • MongoDB
4 / 6

Architecture

// SPÉCIALITÉ05
  • Clean Architecture
  • Hexagonal
  • DDD
  • CQRS
  • Microservices
cœur de ma pratique
5 / 6

Cloud & DevOps

05
  • Docker
  • Docker Compose
  • Git
  • GitHub Actions
  • CI/CD
6 / 6
27 compétences · 6 domaines
// EN PRODUCTION
22 technologies · 4 catégories
Next.jsReactTypeScriptSpring BootNestJSNode.jsPythonFastAPIPostgreSQLMongoDBRedisDockerReact NativeExpoWebSocketsTailwind CSSJavaExpressJSFlaskMySQLGitREST APINext.jsReactTypeScriptSpring BootNestJSNode.jsPythonFastAPIPostgreSQLMongoDBRedisDockerReact NativeExpoWebSocketsTailwind CSSJavaExpressJSFlaskMySQLGitREST API
Next.jsReactTypeScriptSpring BootNestJSNode.jsPythonFastAPIPostgreSQLMongoDBRedisDockerReact NativeExpoWebSocketsTailwind CSSJavaExpressJSFlaskMySQLGitREST APINext.jsReactTypeScriptSpring BootNestJSNode.jsPythonFastAPIPostgreSQLMongoDBRedisDockerReact NativeExpoWebSocketsTailwind CSSJavaExpressJSFlaskMySQLGitREST API
Backend
Frontend
Mobile
Cloud & DevOps
Portfolio

Projets phares & open source.

Une sélection de mes projets principaux, conçus avec des architectures et standards modernes.

// 03 PROJETS PRINCIPAUX
PayLith
SaaS Platform
Projet phare
2024Projet principal

PayLith

La facturation moderne pour freelances et TPE.

Plateforme moderne de facturation destinée aux freelances, indépendants et petites entreprises. Conçue comme un produit SaaS complet, de la gestion des clients au suivi des paiements.

Next.jsTypeScriptSpring BootPostgreSQLRedis+2
Voir le projet
QueueClock
Real-time System
2024Système distribué

QueueClock

Files d'attente virtuelles, synchronisées en temps réel.

Application web et mobile de gestion de files d'attente virtuelles en temps réel. Pensée pour les commerces, administrations et événements qui veulent fluidifier l'attente physique.

NestJSReact NativeWebSocketsRedis+2
Voir le projet
Parkour
Mobile App
2023Application mobile

Parkour

Suivi GPS et gamification pour la course à pied.

Application mobile de suivi GPS et de gamification. Transforme la course en expérience engageante avec défis, badges et classements.

React NativeExpoNestJSWebSockets+2
Voir le projet
Cliquez sur un projet pour voir les détails et l'étude de cas.
Parcours

Une trajectoire d'ingénierie en construction.

Formation, projets et expériences qui ont forgé ma manière de concevoir le logiciel.

// 2021 — 2026

Diplôme d'État en Ingéniérie Logicielle et Intégration des Systèmes Informatiques

Juin 2026

Faculté des Sciences et Techniques (FST) de Mohammedia

Mohammedia, Maroc

Diplôme Universitaire en Sciences et Techniques (DEUST) – Mention Bien

Juin 2023

Faculté des Sciences et Techniques de Béni Mellal

Béni Mellal, Maroc

Baccalauréat Scientifique – Mention Très-Bien

Juin 2021

Lycée Municipal de Titao

Titao, Burkina Faso

Compétences acquises

  • Ingénierie logicielle

    Conception, développement, déploiement d'applications complexes.

  • Architecture logicielle

    Clean Architecture, DDD, microservices, design patterns.

  • Développement web & mobile

    Full-stack, React, React Native, API REST.

  • Algorithmique

    Structures de données, complexité, optimisation.

  • Systèmes distribués

    Concurrence, synchronisation, tolérance aux pannes.

  • Bases de données

    Modélisation, SQL, NoSQL, optimisation.

  • DevOps

    Docker, CI/CD, déploiement, observabilité.

  • Gestion de projet Agile

    Scrum, itératif, livraison continue.

// NEXT

Et plus loin : contribuer à des projets de recherche et d'ingénierie mêlant intelligence artificielle, systèmes distribués et logiciels à grande échelle.

Uses

Les outils de mon quotidien.

Un setup pensé pour la productivité, le typage strict et l'expérience développeur — du terminal au déploiement.

// CORE SETUP

Éditeurs

02
  • VS Code

    Éditeur principal pour le développement web frontend et les projets TypeScript.

  • antigravity

    Agent d'ingénierie IA avancé développé par Google DeepMind pour le pair programming.

Versioning

02
  • Git

    Gestion de versions distribuée pour le suivi des modifications du code source.

  • GitHub

    Hébergement de code, revues de pull requests et workflows CI/CD automatisés.

Conteneurisation

02
  • Docker

    Conteneurisation d'applications pour garantir la cohérence entre le développement et la production.

  • Docker Compose

    Définition et exécution d'applications multi-conteneurs pour l'environnement local.

Outils

02
  • Postman

    Tests, débogage et documentation d'APIs REST de manière collaborative.

  • Figma

    Conception d'interfaces utilisateur, wireframes et prototypage interactif.

Systèmes

02
  • Windows

    Système d'exploitation principal pour le développement et l'administration au quotidien.

  • Ubuntu

    Environnement WSL et serveurs de déploiement pour la compatibilité Linux.

// optimisé pour la profondeur, pas la vitesse
Blog

Articles & réflexions techniques.

Je partage ce que j'apprends en construisant : architecture, systèmes distribués, temps réel, et l'art de concevoir du logiciel qui dure.

// 03 ARTICLES
Architecture
8 min

Clean Architecture en Node.js : séparer le métier du framework

Pourquoi isoler votre logique métier des détails techniques change tout — et comment le faire concrètement avec NestJS.

ArchitectureNestJSDDD
Lire l'article
Systèmes distribués
10 min

WebSockets + Redis : scaler le temps réel horizontalement

Comment Redis pub/sub permet de synchroniser des milliers de clients temps réel à travers plusieurs instances backend.

Temps réelRedisWebSockets
Lire l'article
Architecture
7 min

Domain-Driven Design : modéliser le métier avant le code

Ubiquitous language, bounded contexts, agrégats — les outils pour que votre code parle le langage du métier.

DDDArchitectureMétier
Lire l'article
Cliquez sur un article pour le lire en entier.
Contact

Discutons de votre prochain projet.

Recrutement, mission freelance ou simple échange — je réponds sous 24h.

Actuellement ouvert à :

Ce que je recherche

CDI / Software Engineer

Au sein d'une entreprise internationale, sur des défis d'architecture, de systèmes distribués ou de produits à fort impact.

Freelance international

Missions de conception & développement full-stack pour startups et clients exigeants.

Recherche & Ingénierie

À long terme, contribuer à des projets mêlant intelligence artificielle, systèmes distribués et logiciels à grande échelle.

// ENVOYER UN MESSAGE

Écrivez-moi

Quelques informations suffisent pour démarrer la conversation.

// Réponse sous 24h ouvrées · Vos données ne sont jamais stockées.

Vous préférez un appel ? Envoyez-moi un email et nous planifierons.