Skip to content
Portrait of Mohammed Eddarif

Open to full-time roles and freelance projects

Full Stack Engineer

I build multi-tenant Spring Boot systems that hold up in production: an enterprise blockchain document platform serving multiple organizations at IR4LAB Africa, and Raaqib, a stock management SaaS. Designed and built solo, end to end.

Spring BootAngularNext.jsAI Integration

About

Full-Stack Engineer with 3 years building production enterprise systems, including Spring Boot backends, Angular and Next.js frontends, and AI integration. I turn complex business requirements into scalable, well-architected systems.

At IR4LAB Africa I own the development of core features on DocCerts, an enterprise blockchain-based document management platform. I also design and build modern, fast web platforms for businesses, ranging from multilingual e-commerce to custom admin dashboards.

Education & credentials

  • PhD Researcher, AI & Computer VisionEST, Ibn Tofail University · 2025 – present
  • Master's, Software Engineering for Cloud ComputingFaculty of Sciences, Ibn Tofail University · 2022 – 2024
  • Bachelor's, Mathematics and Computer ScienceFaculty of Sciences, Ibn Tofail University · 2018 – 2022
  • Oracle Certified Professional, Java SE 17 DeveloperOracle · 2025
  • Docker, Kubernetes & OpenShiftIBM · 2023
  • AWS Cloud PractitionerAmazon Web Services · 2023

3

Years Experience

PhD

Researcher · AI & Computer Vision

OCP

Java SE 17 Certified

Remote

Based in Morocco

Experience

My professional journey building production enterprise systems and shipping real products.

Full Stack Developer

Sep 2024 – PresentFull-time until Aug 2026 · part-time since Sep 2026
IR4LAB Africa
  • Owned end-to-end delivery of new core features on DocCerts, an enterprise blockchain-based Document Management System in production, including a support-user role with automated organization-based ticket routing.
  • Reduced API response times by about 35% by refactoring complex MongoDB aggregation pipelines.
  • Led the migration of the DocCerts frontend from Angular v12 to v21 across nine major versions, incrementally and without production downtime, adopting standalone components and modern Angular patterns.
  • Designed and built a multi-tenant announcement module with two broadcast levels, super-admin and organization, targeted by user role and hierarchy.
  • Led the platform's RAG assistant: built the first version in Python with two interns I mentored; now rebuilding it as a separate Spring Boot service (Spring AI, pgvector, Ollama) with automated answer-quality tests.
Spring BootAngularMongoDBRBACRAG

Software Engineering Intern

Mar 2024 – Aug 2024
IR4LAB AfricaInternship
  • Improved system code quality and long-term maintainability by implementing cleaner design patterns and authoring comprehensive full-stack technical documentation.
JavaSpring BootAngular

ERP Developer

Jul 2022 – Jan 2023
IT Advisor MAFull-time
  • Designed and deployed customized Odoo enterprise modules and Python/PostgreSQL backend solutions based on client specifications gathered during stakeholder sessions.
OdooPythonPostgreSQL

Engineering Projects

Complex systems I've architected and built, from multi-tenant platforms to AI-integrated enterprise software.

DocCerts

Enterprise Blockchain Document Management System

In Production
AngularSpring BootMongoDBDockerBlockchain

Enterprise blockchain-based DMS serving multiple organizations through a multi-tenant architecture.

doccerts.com
DocCerts public homepage with a search field for verifying a document by its ID or recipient
Technical details

Enterprise blockchain-based Document Management System serving multiple organizations through a multi-tenant architecture. I joined the platform in 2024 and took full-stack ownership of new core features, delivering them end-to-end from requirements to production.

  • Support user role system with automated organization-based ticket routing
  • Multi-tenant announcement module with two broadcast levels: platform-wide and per-organization
  • Led Angular migration from v12 to v21 across 9 major versions
  • AI assistant (RAG): in progress as a separate Spring Boot 4 service built with Spring AI: PDF ingestion, retrieval from PostgreSQL/pgvector, local models via Ollama, and an automated evaluation test suite. It integrates with the existing platform over its API.
  • Optimized MongoDB aggregation queries, reducing API response times by ~35%

Full Stack Developer at IR4LAB Africa

Tripycco

Travel Marketplace for Moroccan Agencies

In Production
Next.jsSpring BootPostgreSQLSpring SecurityDockerJWTOAuth2

A marketplace where Moroccan travel agencies publish their trips and travelers compare offers side by side, then book directly with a verified agency.

I designed the architecture, built the Spring Boot backend, handled deployments, and contributed to several features end to end, frontend and backend. My co-founder built most of the Next.js web app and the React Native mobile app.

tripycco.com
Tripycco trip listing with filters for destination, experience type, price range, duration and rating
Offers from different agencies side by side, filtered by price, duration, rating and experience type, and sorted server-side.
Technical details

Tripycco is a two-sided marketplace for organized trips in Morocco. Travel agencies create an account, get verified, and publish their trips with itineraries, departure dates, pickup points, pricing and seat limits. Travelers browse every agency's offers in one place, compare them by price, duration, rating and experience type, and book the one that suits them. It solves a real trust problem: travelers booking organized trips often can't tell whether the organizer is legitimate, so only verified agencies can publish, and reviews come from travelers who actually booked.

  • Backend designed and built from scratch with Spring Boot and a REST API consumed by a Next.js frontend
  • Two account types, agency and traveler, each with its own scoped permissions, secured with Spring Security, JWT and OAuth2
  • Agency verification before an agency's trips can go live on the marketplace
  • Trip publishing with day-by-day itinerary, multiple departures, pickup points and per-departure seat limits
  • Search and filtering by destination, experience type, price range, duration and rating, with server-side sorting
  • Booking flow with live seat availability, plus reviews restricted to travelers who booked the trip

Co-founder · Full-Stack Engineer & Backend Architect

Raaqib

Multi-Tenant Stock Management SaaS

In Production
Next.jsSpring BootPostgreSQLSpring SecurityFlywayDockerJWTOpenAPITestcontainers

A multi-tenant SaaS that lets Moroccan clothing retailers manage stock, pricing, and team activity across locations, giving owners full visibility and price control even when they're not in the store.

Designed and built solo, end to end.

raaqib.ma
Raaqib homepage for Moroccan clothing retailers, above a preview of the sales dashboard
Technical details

Raaqib is a multi-tenant SaaS for small and medium clothing stores. It solves a real operational problem: when an owner steps away, they lose visibility into what's selling, at what price, and by whom. Raaqib gives owners a product catalog with variants, multi-location stock tracking, supplier management, fast in-store sales recording, and a price-compliance signal that flags every sale against set minimum and standard prices. Owners delegate scoped actions to employees through a granular role-and-permission system, and view sales statistics over time. Built as a true multi-tenant platform where each store is an isolated tenant on shared infrastructure.

  • Multi-tenant architecture with ORM-level tenant isolation (no cross-tenant data access)
  • Backend designed and built from scratch with strict layering and DTO boundaries
  • Authentication with JWT access tokens + rotating, revocable refresh tokens; fresh DB-backed authorization
  • Role-based access control with granular per-employee permissions
  • Atomic, idempotent sales with optimistic-locking concurrency control on stock
  • Price-compliance engine comparing actual sold price to min/standard price
  • Flyway versioned migrations, RFC-7807 error handling, pagination, and N+1 elimination
  • Full integration test suite on real Postgres via Testcontainers, plus OpenAPI contract and CI

Full-Stack Engineer & Backend Architect: designed and built the entire multi-tenant backend from scratch

Websites & dashboards

Business websites and admin dashboards, built with Next.js and Supabase. Demos use fictional businesses; client projects are marked.

Masar Cars homepage
Demo · fictional businessSite + dashboard

Masar Cars

Car rental website with WhatsApp booking, plus an agency dashboard.

Belyazid Cosmetics homepage
Client project

Belyazid Cosmetics

Multilingual cosmetics store with WhatsApp ordering.

Ember & Plate homepage
Demo · fictional businessSite + dashboard

Ember & Plate

Bilingual restaurant site with ordering, reservations and a kitchen board.

LinguaCenter homepage
Demo · fictional businessSite + dashboard

LinguaCenter

Trilingual language-centre site with placement tests and an admin dashboard.

What clients get

Modern, mobile-first responsive design
Fast load times and SEO optimization
Clean animations and professional feel
Admin backend when needed
Ongoing support available

Skills

The technologies I work with daily, across the full stack.

Backend

  • Java
  • Spring Boot
  • Spring Security
  • Spring Data JPA
  • Hibernate
  • RESTful APIs
  • Python

Frontend

  • Angular
  • TypeScript
  • RxJS
  • Next.js
  • React
  • JavaScript
  • Tailwind CSS

Databases

  • PostgreSQL
  • MongoDB
  • Supabase

AI / ML

  • RAG
  • Spring AI
  • pgvector
  • Ollama
  • LLM API Integration
  • Computer Vision

DevOps

  • Docker
  • GitHub Actions
  • Git
  • Maven
  • Flyway
  • Testcontainers

Exposure

AWS, Kubernetes, Microservices, Keycloak, MySQL

Let's work together

Whether you need a full-stack engineer for your team or a modern website for your business, I'd love to hear from you.

Phone (calls)

+212 624-414225

Location

Morocco · Available for remote work worldwide

Currently open to new opportunities : full-time roles, freelance projects, and interesting collaborations.