Available for fixed-price projects

I build web apps, APIs and automation that work in production.

Full-stack developer trained at 1337 (42 Network), level 18.98 of 21. React and Next.js in front, Django and NestJS behind, React Native and Flutter for mobile, and Docker, Kubernetes and DNS underneath. I work in English, French and Arabic.

18.98/21Level at 1337 (42 Network)
37Graded projects
15Passed with the bonus
5 moEngineering internship
Featured work

Things you can open and try

A full-stack app with a live demo, and an automation system that runs on its own every weekday.

Tijara's dashboard on a laptop in English and on a phone in Arabic
Full-stack web app · live demo

Tijara: orders & inventory dashboard

A dashboard for an online shop, in English, French and Arabic with a full right-to-left layout. A Django REST API behind it, Next.js in front.

  • Stock rules enforced on the server and covered by tests: an order is refused as a whole when stock is short, and two orders can't sell the same last item.
  • Hand-made SVG charts: revenue per day with a tooltip, orders by status, sales by category and 30-day trends.
  • Prices, dates and charts follow each language, and Arabic mirrors the whole layout.
  • A demo mode runs the same rules in your browser, so the live demo needs no server.
  • Next.js 16
  • React 19
  • TypeScript
  • Tailwind CSS
  • Django REST
  • MySQL
  • Docker Compose
A website preview the system generated for a demo restaurant, on a laptop and a phone
A generated preview for a fictional demo business
Automation · runs every weekday

Lead-generation & outreach automation

A Python system that finds local businesses with a real website problem, builds each one a personalised preview site, and contacts them on its own.

  1. 1FindBusinesses from the OpenStreetMap Overpass API
  2. 2AuditSite down, no HTTPS, not mobile-friendly, slow
  3. 3GenerateA preview site from the business's real data
  4. 4PublishNetlify API, with screenshots by headless Chrome
  5. 5SendGmail SMTP, with follow-ups on day 3 and day 7
  6. 6TrackReplies and bounces read over IMAP
1,800+businesses analysed
500+previews generated
Mon–Frion cron, with bounce brakes
  • Python
  • REST APIs
  • Netlify API
  • SMTP / IMAP
  • Headless Chrome
  • cron

Email security checker

Reads a domain's SPF, DKIM and DMARC records over DNS-over-HTTPS, counts SPF lookups, and writes a plain-English report with the exact records that fix it.

  • Python
  • DNS
  • SPF · DKIM · DMARC

Automated video pipeline

Turns a script into a finished vertical video: neural text-to-speech, word-level captions with Whisper, animation rendered with Remotion (React), then scheduled uploads through the YouTube Data API.

  • Python
  • Remotion
  • Whisper
  • YouTube API
1337 · 42 Network

School projects

1337 is the Moroccan campus of 42 Network: no teachers and no lectures. Every project is built to a strict spec, then tested and defended in front of other students. A grade above 100% means the bonus part was done too.

Level 18.98 of 21 Common core 100% 3,800+ h of graded projects
100%

ft_transcendence

Online multiplayer Pong

A real-time Pong game played in the browser: a NestJS back end, PostgreSQL through the Prisma ORM, and WebSockets for live play.

  • NestJS
  • TypeScript
  • PostgreSQL
  • Prisma
  • WebSockets
Team project~245 h
120% · bonus

hypertube

Video streaming website

Search for films and stream them while they download over BitTorrent, on an MVC web framework.

  • MVC
  • Streaming
  • BitTorrent
  • REST API
Team project~196 h
100%

music-room

Collaborative playlists app

A mobile app where friends build and play playlists together, with its own back end and REST API.

  • Mobile app
  • REST API
  • Database
Team project~196 h
100%

Inception

Docker infrastructure

Docker images written from scratch for NGINX with TLS, WordPress with php-fpm and MariaDB, wired together with Docker Compose, a private network and persistent volumes.

  • Docker
  • Docker Compose
  • NGINX
  • TLS
  • MariaDB
Solo~150 h
125% · bonus

Inception-of-Things

Kubernetes and GitOps

K3s clusters on Vagrant virtual machines, apps routed through an Ingress, then a K3d cluster that Argo CD keeps in sync with a Git repository.

  • Kubernetes
  • K3s
  • K3d
  • Argo CD
  • Vagrant
Solo~200 h
100%

BGP at Doors of Autonomous Systems

Data-center networking

Simulated networks in GNS3 with VXLAN and BGP EVPN, the protocols behind modern data-center fabrics.

  • BGP
  • EVPN
  • VXLAN
  • GNS3
~200 h
110% · bonus

Born2beroot

A hardened Linux server

A Linux virtual machine set up from scratch: encrypted LVM partitions, SSH on a custom port, a UFW firewall, strict sudo and password policies, and a monitoring script on cron.

  • Linux
  • LVM
  • SSH
  • UFW
  • Bash
~50 h
125% · bonus

webserv

HTTP/1.1 server in C++

Reads an NGINX-style config, serves many clients at once with select() multiplexing, handles GET, POST and DELETE, runs CGI scripts and manages cookies.

  • C++98
  • HTTP
  • Sockets
  • CGI
Pair project~175 h
101% · bonus

minishell

A Bash-like shell in C

Parsing with quotes and environment variables, pipes, redirections and heredocs, built-in commands and signal handling.

  • C
  • Unix
  • Processes
  • Parsing
~210 h
108% · bonus

Matt_daemon

A Unix daemon in C++

Detaches into the background, allows a single running instance through a lock file, logs every event, accepts TCP clients and shuts down cleanly on signals.

  • C++
  • Daemons
  • Sockets
  • Signals
~49 h
100%

Philosophers

Concurrency with threads

The dining philosophers problem with threads and mutexes: no data races, no deadlocks, and a death reported within 10 ms.

  • C
  • Threads
  • Mutexes
~70 h
125% · bonus

snow-crash & rainfall

Binary exploitation

Climbing from account to account on deliberately vulnerable Linux machines: reverse engineering SUID binaries, then exploiting stack and heap overflows and format-string bugs, past NX, stack canaries and ASLR.

  • Security
  • Reverse engineering
  • x86 assembly
  • Linux
Two projects~819 h
105% · bonus

dslr

Logistic regression from scratch

Explores and visualises a dataset, then trains a one-vs-all logistic regression with gradient descent to sort Hogwarts students into their houses.

  • Machine learning
  • Statistics
  • Data visualisation
~98 h
125% · bonus

n-puzzle

Puzzle solver with A*

Solves sliding puzzles of any size with A* search and several heuristics.

  • Algorithms
  • A* search
  • Heuristics
Team project~98 h
125% · bonus

cub3d

Raycasting 3D engine

A first-person maze in C, drawn in real time with raycasting like Wolfenstein 3D, with textured walls.

  • C
  • Graphics
  • Raycasting
~280 h
Experience

Where I've worked and studied

Freelance developer

Upwork · 5.0★ review

An iOS app in .NET that opens the phone camera and detects the client's barcode in real time. Delivered in 5 days.

Software engineering intern

Green Energy Park (UM6P / IRESEN), Benguerir

A five-month internship at Morocco's solar-energy research and testing platform, graded 125%.

Software engineering

1337 Coding School (42 Network), UM6P, Benguerir

Common core completed at 100%, now in the advanced track at level 18.98 of 21, with projects in web development, DevOps, networks, security and machine learning.

Skills

What I work with

Front end

  • React
  • Next.js
  • TypeScript
  • JavaScript
  • Tailwind CSS
  • HTML & CSS
  • i18n & right-to-left

Back end

  • Django REST
  • NestJS
  • Node.js
  • Python
  • REST APIs
  • WebSockets
  • PostgreSQL
  • MySQL
  • Prisma

Mobile

  • React Native
  • Flutter
  • iOS (.NET)
  • Camera & barcode scanning
  • REST API integration
  • Mobile-first web

DevOps & hosting

  • Docker
  • Docker Compose
  • Kubernetes
  • Argo CD
  • NGINX
  • Linux
  • Netlify
  • Cloudflare Pages
  • DNS
  • SPF · DKIM · DMARC

Automation

  • Python scripting
  • API integrations
  • Web scraping
  • SMTP / IMAP
  • Headless Chrome
  • cron

Systems

  • C
  • C++
  • Sockets
  • Threads
  • Processes & signals
  • Memory management

Languages: English, French and Arabic.