Full Stack JavaScript Developer.
Node.js • React.js • Express.js • MongoDB | REST APIs • Docker • Linux | Backend & System Integration
Building full-stack JavaScript products with a focus on reliable backend services, APIs, integrations and production systems using Node.js, Express, React and modern infrastructure.

I'm a full-stack JavaScript developer based in Rabat, Morocco, focused on backend development, system integration and production applications. I work with Node.js, Express.js, React, MongoDB/Mongoose, Redis, Socket.IO and REST APIs. At Caisse Manager, my work spans a restaurant POS ecosystem: backend services, KDS synchronization, printing systems, online ordering and back-office workflows. I build background processing with Bull and work with Docker, Linux and Nginx to deploy services and troubleshoot production incidents. My experience also includes full-stack applications using React, Node.js, Laravel and MySQL at Lea Joy. I'm interested in backend engineering, software architecture, SaaS platforms and reliable JavaScript applications.
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
Developer at Caisse ManagerMorocco
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.
- Supported POS, KDS, printing, online-ordering and back-office workflows, including thermal and network printers, CUPS and POS hardware.
- Diagnosed production incidents across MongoDB replica sets, Redis, Docker networks, printing services and client connectivity.
- Worked with SSH, WireGuard VPN and Linux administration to support remote infrastructure and multi-site restaurant deployments.
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.
NOVAZONE
InternTamesna, Morocco · On-site
Internship with experience in Git and WooCommerce.
ISICOD
InternRabat, Morocco · On-site
Internship with experience in IT infrastructure management and SQL.
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
- SSH
- WireGuard VPN
- CUPS & printer integration
- MongoDB replica sets
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?
Open to Backend Developer, Full Stack JavaScript Developer and Software Engineer opportunities in Morocco and remote teams.