Backend Developer & Software Engineer.
Building reliable backend services, APIs, integrations and production systems with Node.js, Express and modern infrastructure — full-stack in React where the product calls for it.

I'm a full-stack developer based in Rabat, Morocco, working mostly on the backend half of production systems. Day to day that means REST APIs, real-time features with Socket.IO and Redis, background processing with Bull, and services that run inside Docker on Linux behind Nginx. Most of my experience comes from building and maintaining a live SaaS restaurant-management and point-of-sale platform — where a change to one service has to be checked against everything downstream of it. I spend a good part of my time on the less visible work: tracing a slow endpoint back to its cause, closing a gap in authentication or token handling, or making sense of a system I didn't originally build. I also work across the stack in React when a feature needs it, but backend systems, integrations and production reliability are where I focus.
Systems built, audited and shipped.
Production employer systems, an independent project with a real security audit, and client work — each shown the way it actually happened.
Restaurant Management & POS Platform
A live SaaS platform for restaurant management and point of sale — React front end, Node.js/Express backend, MongoDB, Redis, Socket.IO and Bull, deployed as a containerized multi-service stack behind Nginx.
- Node.js
- Express.js
- React
- MongoDB
- Redis
- Socket.IO
- Bull
- Docker
- Nginx
Containerized multi-service deployment (Docker Compose)
Customer Queuing System
A Redis-backed asynchronous processing layer at Caisse Manager that takes an order from intake through background workers, emitting the status events that downstream services — including the Kitchen Display System — consume in real time.
- Node.js
- Redis
- Bull
- Socket.IO
- Docker
Multi-Tenant Photo Commerce & Fulfillment Platform
An independent, multi-tenant platform for ordering AI-styled photo products over WhatsApp, with wallet payments, an admin backoffice, and physical fulfillment through a printer agent — designed, built and security-audited end to end across four separately-versioned services.
Read case study- NestJS
- TypeScript
- Prisma / MySQL
- Redis / BullMQ
- Twilio
- React
- Docker Compose
OKPrint
Client project — live productionFull-stack / E-commerce / Photo printing
- React
- Redux Toolkit
- Node.js / Express
- Sequelize / MySQL
PBS
Client project — business platformBusiness workflows / Roles / Integrations
- Laravel
- PHP
- MySQL
- Laravel Passport
Kitchen Display System
Selected technical projectReal-time order flow / async processing
- Node.js
- MongoDB
- Redis
- Socket.IO
Evidence, not adjectives.
Real numbers and real findings — from testing, a self-run security audit, and hardware integration — behind the project above.
~448 automated tests across four CI pipelines
Unit, integration and end-to-end tests across the photo commerce platform's four services (backend, backoffice, webhook relay, printer agent), each with its own GitHub Actions pipeline running on every change.
448 tests · 4 services · 4 CI pipelines
- Jest
- Vitest
- GitHub Actions
- Puppeteer
Self-directed production-readiness audit
Ran a structured audit against my own system covering authentication, multi-tenant data isolation, wallet concurrency, webhook replay and file-download exposure — then fixed and wrote regression tests for what it found.
5 issues found and fixed, each with a regression test
- Auth
- Multi-tenancy
- SSRF
- Webhook replay
Physical print fulfillment
Integrated a real printer (CUPS, systemd service) into the order-fulfillment path, then replaced an earlier socket-based print worker with a simpler database-polling agent once it proved more reliable.
- CUPS
- Linux
- systemd
Souvenia — photo gift storefront
A WooCommerce storefront concept for personalized photo gifts, built as a local demonstration — a custom WordPress theme and plugin, with a Playwright test suite and clean accessibility scans.
6/6 Playwright tests passing · WCAG 2 AA scan clean
- WordPress
- WooCommerce
- Playwright
- Accessibility
Where the work happened.
Caisse Manager
Full-Stack DeveloperMorocco
SaaS platform for restaurant management and point of sale, built on React, Node.js/Express, MongoDB and Redis.
- Developed and maintained full-stack features for a SaaS restaurant-management and point-of-sale platform using React, Node.js, Express.js and MongoDB.
- Designed and maintained REST APIs, business integrations and real-time mechanisms using Socket.IO and Redis.
- Built asynchronous processing and task queues with Bull to run background operations reliably.
- Analyzed the performance and stability of services and identified the technical causes of slowdowns, errors and abnormal behavior.
- Worked within a containerized multi-service architecture (Docker, Nginx, MongoDB, Redis), assessing the impact of changes on existing dependencies.
- Investigated and fixed security issues related to authentication, tokens, API access and data migrations.
- Collaborated with technical and operational teams to turn field problems into product improvements, documenting key behaviors and diagnostic procedures.
Lea Joy
Full-Stack Developer — Fixed-term contractRabat / Remote
Full-stack web applications on React.js, Node.js, PHP/Laravel and MySQL.
- Developed and maintained full-stack web applications using React.js, Node.js, PHP/Laravel and MySQL.
- Built React interfaces, managed application state with Redux.js, and integrated frontend features with REST APIs.
- Developed server-side logic, business features and backend integrations with Node.js and Laravel.
- Worked with MySQL and relational data to build, maintain and evolve product features.
- Investigated and fixed bugs in existing applications, analyzing behavior, dependencies and the impact of changes.
Engineering capabilities.
- 01Backend systems
- 02API design & integration
- 03Real-time applications
- 04Production troubleshooting
- 05Dockerized services
- 06Restaurant SaaS / POS systems
- 07Security & production-readiness audits
Tools I build production systems with.
Backend
- Node.js
- Express.js
- NestJS
- TypeScript
- REST APIs
- Authentication & authorization
- Business logic
- Service integrations
Real-time & async
- Socket.IO
- Bull / BullMQ (queues & background jobs)
- Real-time events
- Distributed processing
- Webhooks
- Third-party integrations
Data & cache
- MongoDB
- MySQL
- Prisma
- Redis
- Mongoose
- Data migrations & structuring
Infrastructure
- Docker
- Docker Compose
- Nginx
- Linux / Ubuntu
Quality & security
- Automated testing (unit, integration, E2E)
- CI pipelines
- Regression testing
- API & webhook security
- Token & access management
- Multi-tenant data isolation
Frontend
- React.js
- Redux / Redux Toolkit
- JavaScript
- HTML5 / CSS3
- Responsive design
How the pieces fit together.
A representative shape — the pattern behind the production work above, not a literal diagram of any one employer's infrastructure.
Representative architecture — patterns drawn from production work
Interested in working together?
Currently interested in backend, software engineering and integration roles in Morocco and remote teams.