Mouloud Elasri

Lead Technical Consultant

Eight years keeping the lights on for enterprise systems. Now I'm building software that thinks.

I design scalable enterprise software and AI-powered applications, combining modern backend architecture with intelligent user experiences.

Story

I didn't start with a plan. I started with curiosity — and it turned into a career.

I discovered programming in 2012, a year before I finished high school, and picked it up properly during the two years of preparatory classes that followed. What began as a hobby quickly became the thing I wanted to spend my time on.

That took me to ENSIAS — the National School of Computer Science and Systems Analysis — where I studied software engineering. I didn't wait until graduation to start building. From my first year I was already working on real projects, beginning with an internship at a Casablanca startup where I turned static pages into something a private school could actually use, and dealt with the client directly.

By my second year I was freelancing with OPEN WHITE. My very first task was adding a parallax effect to a single page; before long I was delivering whole projects — CRMs, ERPs, e-commerce platforms. One internship took me to France, where I met clients face to face and presented a project on my own for four hours, as if I were an engineer with three years behind him. I wasn't, but it worked — and it taught me I could hold a room.

The work I'm proudest of from those years is Space-Place, a marketplace I built from scratch, alone, from the first line of code all the way to production. When the client, EcoSpare, took it in-house, I moved with the project as lead developer — migrating it cleanly onto their servers, putting versioning, multiple environments, proper configuration and security in place, and running it in production. I stayed until I had taken it as far as the team around it would allow, then decided it was time for something bigger.

The years since have been enterprise software at scale — a remote stint at Grupo AVALON, then Intelcia, where I led a B2B platform through a migration from PHP to Spring Boot and an upgrade from Spring 1.7 to 2.7, and Wafasalaf, where I worked as a technical lead on Spring Cloud microservices and event-driven systems. Across all of it I kept taking on more ownership: architecture decisions, mentoring, code reviews, production support — the unglamorous work of keeping systems running.

In recent years my curiosity has shifted toward Artificial Intelligence. I've been building products that bring large language models, computer vision, and solid backend engineering together into applications that solve real problems. That's the direction I'm moving in now: software that doesn't just run, but reasons.

I'm open to relocation and to building the next chapter of my career abroad.

Experience

  1. Senior Java Consultant

    Returned to Intelcia to keep delivering enterprise software, bringing past context to bear on new, larger technical challenges.

    • Enterprise backend development on Spring Boot services and REST APIs.
    • Microservices work with an emphasis on performance and maintainability.
    • Angular frontend delivery alongside the backend.
    • Architecture input, code reviews and mentoring within Agile/Scrum teams.

    Intelcia IT SolutionsApr 2026 – PresentCasablanca, Morocco

    • Java
    • Spring Boot
    • Angular
    • Hibernate
    • PostgreSQL
    • Kafka
    • REST
    • SOAP
    • Docker
    • Git
  2. Lead Technical Consultant

    Technical lead on Spring Cloud and monolithic projects, owning architecture decisions and the quality bar across the team.

    • Designed and built Spring Cloud microservices and distributed-system integrations.
    • Applied event-driven patterns over Apache Kafka for secure business communication.
    • Integrated authentication with Keycloak; designed REST and SOAP APIs.
    • Drove software quality: JUnit, Karate and Cypress testing, code reviews and CI/CD.
    • Mentored developers and led architecture decisions.

    WafasalafMar 2025 – Apr 2026Casablanca, Morocco

    • Spring Framework
    • Spring Cloud
    • Angular
    • Kafka
    • Keycloak
    • JUnit
    • Karate
    • Cypress
    • Jenkins
    • ELK
    • REST
    • SOAP
    • Git
  3. Senior Java Consultant

    Led a major modernisation of the WorkFlow Fibre B2B platform (client: SFR), moving it off legacy PHP and onto current Spring.

    • Migrated the backend from PHP to Spring Boot.
    • Upgraded the platform from Spring 1.7 to 2.7 and modernised its architecture.
    • Designed, built and maintained the WorkFlow Fibre application for client SFR.

    Intelcia IT SolutionsAug 2022 – Mar 2025Casablanca, Morocco

    • JEE
    • Spring
    • Spring Boot
    • Angular
    • PHP
    • Kafka
    • REST
    • SOAP
    • Git
  4. Full-Stack Engineer (remote)

    Designed and built the SIRONA document-management platform end to end, from concept to a modern working interface.

    • Conception, design, development and maintenance of the SIRONA platform.
    • Document management with a modern, usable interface.

    Grupo AVALONMar 2022 – Jul 2022Marrakech, Morocco

    • JEE
    • Spring
    • Angular 12
    • Figma
  5. Software Engineer

    Built business applications as part of a software implementation role.

    • Software implementation for business applications.

    OggvoMar 2022Morocco

  6. Web Developer

    Owned the Space-Place marketplace on the client side — built from scratch, then taken cleanly into production and run day to day.

    • Built and maintained the Space-Place.com marketplace and the EcoSpare.fr site.
    • Migrated the project cleanly onto EcoSpare infrastructure with versioning, multiple environments and proper configuration.
    • Defined the technical roadmap with management and monitored marketplace performance.

    EcoSpareMar 2021 – Jan 2022Rabat, Morocco

    • PHP 7
    • jQuery
    • CSS3
    • HTML5
    • Bootstrap 4
    • WordPress
    • Git
    • GitLab
    • SEO
  7. Junior Full-Stack Developer

    Grew from first freelance tasks to owning full projects across CRM, ERP, e-commerce and e-learning — including client work in France.

    • Designed, developed and maintained projects across CRM, ERP, e-commerce and serious-game e-learning.
    • Supported client meetings for France-based clients, presenting work directly.
    • Wrote technical and user documentation.

    OPEN WHITEAug 2017 – Mar 2021Rabat, Morocco

    • PHP (Native/Symfony)
    • jQuery
    • VueJS
    • CSS3
    • HTML5
    • XML
    • Bootstrap 3
    • WordPress
    • Java
    • Android
  8. Web Developer Intern

    Designed and implemented a project-management platform.

    • Design and implementation of a project-management platform.

    ONEEJul 2017 – Sep 2017Rabat, Morocco

    • Java EE
    • Spring MVC
    • Hibernate
    • JavaScript
    • HTML5
    • CSS3
    • MySQL
  9. Web Developer Intern

    Built a private-school management system — first taste of real client work.

    • Design and implementation of a private-school management system.

    GENIX SOLUTIONJul 2016 – Sep 2016Casablanca, Morocco

    • PHP
    • HTML
    • CSS
    • JavaScript
    • MySQL

Education

State Engineer Diploma, Software Engineering — ENSIAS — National School of Computer Science and Systems Analysis, Sep 2015 – Aug 2019, Rabat, Morocco

Projects

PlantPal

Identify a plant from a photo, diagnose what ails it, and get care advice — conversationally.

Screenshot coming soon

Problem

Working out what a plant is — and then what is wrong with it — usually means guesswork or scattered forum threads. People want a clear answer: what is this, is it healthy, and what should I do about it, without having to be a botanist.

Solution

PlantPal recognises a plant species from a photo and, in the same flow, diagnoses disease and recommends care. A vision model handles recognition; a reasoning LLM turns the raw classification into botanical detail, care instructions and treatment advice, explained in plain language. It keeps conversation memory, so follow-up questions stay grounded in the same plant and image.

Features

  • Plant species recognition from an uploaded image
  • Disease detection and diagnosis
  • Care and watering recommendations
  • Treatment and prevention advice
  • Conversational follow-up with conversation memory
  • Plant encyclopedia

Architecture

  1. Frontend
  2. Backend API
  3. Vision AI model
  4. Reasoning LLM
  5. Plant knowledge base
  6. Response generation

Tech

  • Angular
  • Spring Boot
  • PostgreSQL
  • Docker
  • Vision Models
  • LLMs
  • REST APIs
  • Authentication

Challenges

  • Combining two very different AI models — a vision classifier and a reasoning LLM — into one coherent answer.
  • Keeping the conversation anchored to the actual image and classification rather than letting the LLM drift.

Lessons

  • Prompt engineering matters as much as model choice: the product only feels intelligent when the reasoning step is tied to real classifier output and conversation memory.

Future work

  • Broaden the species database
  • On-device / offline recognition
  • Richer care scheduling and reminders

WorkFlow Fibre — Enterprise Migration (SFR)

Modernising a live B2B workflow platform off legacy PHP and onto current Spring — without downtime.

Screenshot coming soon

Problem

SFR's WorkFlow Fibre B2B platform was running on aging PHP and an old Spring 1.7 codebase: hard to extend, harder to keep secure, and drifting out of step with the rest of the stack. It also had to stay live for the business throughout any change.

Solution

Led the platform through a staged modernisation — migrating the backend from PHP to Spring Boot and upgrading Spring from 1.7 to 2.7 — while keeping the application in production. REST and SOAP contracts stayed stable so existing integrations kept working, with Kafka carrying messaging between services.

Architecture

  1. Angular client
  2. REST / SOAP API layer
  3. Spring Boot services
  4. Kafka event bus
  5. Database

Tech

  • JEE
  • Spring
  • Spring Boot
  • Angular
  • PHP
  • Kafka
  • REST
  • SOAP

Challenges

  • Migrating a live B2B platform without breaking existing integrations.
  • Preserving legacy PHP and Spring 1.7 behaviour through the cutover while the architecture underneath changed.

Lessons

  • Incremental, well-tested migration beats a big-bang rewrite.
  • Holding REST/SOAP contracts stable lets the backend change underneath consumers safely.

Future work

  • Further decomposition into microservices
  • Broader test-automation coverage

The Platform

A self-hosted platform that runs a portfolio of AI-powered apps — designed solo, built spec-first with AI coding agents.

Screenshot coming soon

Problem

Shipping several small AI-powered products as one engineer means every app re-solves the same problems: AI provider access, cost control, deployment, monitoring, conventions. And LLM APIs bill by usage — one runaway loop in a hobby app can cost real money. The goal: run many small apps without rebuilding infrastructure each time, and without ever letting AI spend go unmetered.

Solution

A personal platform of small single-purpose services, each in its own repository with self-describing metadata, all sharing one version-pinned contracts library. Every AI call flows through a single AI gateway that alone holds the provider keys, which makes cost control architecturally impossible to bypass: a synchronous pre-flight budget check before each call, asynchronous usage events over Kafka after it, and automatic downshift to a free local model when spending nears a ceiling. A control plane owns the app registry and scaffolds new repositories from templates; everything runs local-first on Docker Compose and streams live state over server-sent events to swappable dashboards. The platform is also an experiment in method: each repository is built by an AI coding agent working from a written spec, with decision logs and human review gates — software about running AI, built with AI.

Features

  • One AI gateway holding all provider keys
  • Budget ceilings with synchronous pre-flight cost checks
  • Automatic downshift to local models near a spending ceiling
  • Self-describing repositories scaffolded from templates
  • Version-pinned shared contracts across every service
  • Live platform state streamed over server-sent events

Architecture

  1. Apps
  2. AI gateway — sole key holder
  3. Budget pre-flight
  4. AI providers / local models
  5. Usage events over Kafka
  6. Live state feed
  7. Dashboard

Tech

  • Java
  • Spring Boot
  • Angular
  • Kafka
  • PostgreSQL
  • Docker Compose
  • Server-Sent Events
  • Hexagonal architecture
  • AI coding agents

Challenges

  • Making cost enforcement impossible to bypass rather than merely discouraged — solved structurally: only the gateway holds provider keys, so there is no path around metering.
  • Keeping dozens of small repositories consistent as a solo engineer — solved with a conventions library, repo templates and a compliance validator.
  • Evolving shared contracts across many consumers without breakage — solved by publishing them as a pinned, versioned package.

Lessons

  • Boundaries enforced by structure beat boundaries enforced by discipline: a rule the filesystem enforces cannot rot.
  • Spec-first, agent-built development works when the spec is the source of truth and a human holds the review gate.
  • Metering belongs at the choke point, not in every app.

Future work

  • Move from local-first to hosted once the first product goes commercial
  • More apps on the same platform rails
  • A richer live visualization of platform state

Tech Stack

Backend

Where most of my depth is — enterprise services built to run and keep running.

  • Java
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Data
  • Spring MVC
  • JEE
  • Hibernate / JPA
  • REST APIs
  • SOAP
  • Microservices
  • PHP (Native/Symfony)
  • Node basics

Frontend

Angular-first, with the surrounding web platform to make interfaces feel considered.

  • Angular
  • TypeScript
  • JavaScript (ES6+)
  • RxJS
  • HTML5
  • CSS3
  • Bootstrap
  • jQuery
  • VueJS
  • Responsive design
  • Single-page applications

Data

Relational stores and the persistence layer that keeps them fast and consistent.

  • PostgreSQL
  • MySQL
  • Oracle
  • SQL
  • JPA / Hibernate
  • Query optimization

DevOps

The pipeline from commit to production — containerised, automated, tested.

  • Docker
  • Kubernetes
  • Jenkins
  • Git / GitLab
  • GitHub Actions
  • CI/CD
  • Apache Kafka
  • JUnit
  • Karate
  • Cypress
  • Linux / Unix

Security

Authentication and authorization done properly, not bolted on afterwards.

  • Keycloak
  • OAuth2
  • JWT
  • Spring Security
  • Authentication
  • Authorization

Architecture

How the pieces fit — clean boundaries, sane patterns, systems that scale.

  • Clean Architecture
  • SOLID
  • Design Patterns
  • Microservices
  • Monolithic architecture
  • MVC
  • SAGA pattern
  • Event-driven architecture
  • REST
  • Scalable systems

AI

The direction I am moving in — models put to work inside real applications.

  • Large Language Models
  • Computer Vision
  • Prompt Engineering
  • AI Integrations
  • Image Processing
  • Multi-Agent Systems
  • Automation

Philosophy

I think technology is at its best when it solves a problem that actually matters. I enjoy building software that is not only functional but elegant, maintainable and scalable — the kind that is still a pleasure to work in a year later.

Whether the job is an enterprise backend or an AI experiment, I aim for solutions that hold up over time rather than quick fixes that need undoing later. And I keep learning, because the field never stands still — which is exactly what makes it worth doing.

Where I'm heading next:

  • AI Engineering
  • Large Language Models
  • Computer Vision
  • Intelligent Applications
  • Multi-Agent Systems
  • Modern Software Architecture
  • Automation
  • Developer Experience
  • Open Source

Contact

Always glad to hear about new opportunities — I'm open to relocation and to building the next chapter of my career abroad.