mohamed-mabsout — ~/portfolio
EXPLORER
PORTFOLIO
▾ content
▾ projects
▾ meta
Open to opportunities
Salé, Morocco
github.com/mohamedmabsout
README.md ×
UTF-8 · LF · spaces:2
1
2
3
4
5
6
7
8
9
# Mohamed Mabsout
 
> State Engineer · ENSA El Jadida
> Security-first backend & infrastructure
 
I design and ship secure backends, hardened infrastructure, and full-stack systems that survive real production traffic — without leaking data.
18+
MONTHS IN PRODUCTION
6
MAJOR PROJECTS
3
AWS CERTIFICATIONS
0
DATA LEAKS
view work → get in touch ↓ download CV (PDF)
// WHO I AM

Building secure systems that actually ship.

I'm a State Engineer from ENSA El Jadida, currently freelancing for SIB building production systems in both Java (Spring Boot) and Python (FastAPI) — from JWT/RBAC-enforced ERP modules serving 100+ employees to an LLM-powered CV-parsing pipeline where every model output is re-validated locally before it touches the database. I work where security meets engineering. I care about the boring parts: access control, data integrity, and what happens at 3am when something breaks.

locationBouknadel, Salé, Morocco
degreeState Engineer — ENSA El Jadida (2025)
languagesArabic (native) · French (C2) · English (B2+)
emailloading…
Security by default
RBAC, JWT and encryption baked in — not bolted on.
Production mindset
Every project I've shipped runs in a real production environment.
Full-stack depth
From database schemas to React UIs and Docker deployments.
Measurable outcomes
I ship things that move real numbers, not demos.
photo.jpg
Mohamed Mabsout
// WHAT I'VE BUILT

Projects

Production systems, graduation projects, and personal builds. All shipped, all secured.

// 01 LIVE · 2026 FLAGSHIP

Industrial PO & Subcontracting Platform

SIB · Kénitra

A JWT-secured platform automating the full purchase-order and subcontractor execution lifecycle, with multi-level approval workflows and centralized access control.

PROBLEM

Purchase orders and subcontractor flows ran on spreadsheets — no audit trail, no access control, and slow multi-level sign-off.

APPROACH

Built an end-to-end platform with centralized JWT-based security, a multi-level approval workflow engine, and containerized deployment.

OUTCOME

The full order lifecycle now lives in one secured, auditable system — faster and fully traceable.

−60%
manual processing time
+35%
faster approval cycle
PythonFastAPIReactReduxPydanticDockerMariaDBJWT
auth-flow.svg● verified
Client · React UI
browser
HTTPS
API Gateway · FastAPI
rate-limit · CORS
verify JWT
Approval Engine
multi-level
RBAC
MariaDB
audit log
auth.py
1
2
3
4
5
def require_role(role):
  claims = decode(token, SECRET)
  if role not in claims["roles"]:
    raise Forbidden(403)
  return claims
// 02 LIVE · 2025

Enterprise ERP — HR & Payroll Modules

SIB · Kénitra

Three sensitive ERP modules — HR management, payroll automation, and time tracking — serving 100+ employees, with a real-time cost engine for project profitability and fine-grained RBAC data access control.

PROBLEM

Sensitive HR and payroll data demanded strict, role-scoped access — and leadership needed real-time financial visibility.

APPROACH

Designed modular services with fine-grained RBAC at the data-access layer and a real-time cost engine feeding profitability dashboards.

OUTCOME

Faster financial decisions with zero unauthorized data exposure across the organization.

+40%
faster financial decisions
0
unauthorized data exposures
PythonFastAPIReactTailwindRBACMySQLAlembicDocker
Private codebase
rbac-access.svg● 4 roles
ADMIN HR FINANCE EMPLOYEE
policy check
RBAC Policy Engine
HR
module
Payroll
module
Time
tracking
Cost Enginereal-time
// 03 PFE · 2025

HR-Expense

Integral Building Solutions (SIB) · Kénitra

A full-stack expense & HR management app built from scratch as my graduation (PFE) project — a hardened Spring Boot (Java 22) backend with Spring Security, JWT session encryption, and strict RBAC across four user roles.

CONTEXT

My end-of-studies project: prove I could design and harden a real internal tool, not just a prototype.

OUTCOME

Passed every internal security audit, with role separation enforced from the filter chain down to the data layer.

100%
internal security audits passed
4
RBAC user roles
Java 22Spring BootSpring SecurityReactTypeScriptHibernateJWTMySQL
↗ View on GitHub
SecurityConfig.java
1
2
3
4
5
6
7
http
  .csrf(c -> c.disable())
  .authorizeHttpRequests(a -> a
    .requestMatchers("/api/admin/**")
      .hasRole("ADMIN")
    .anyRequest().authenticated())
  .addFilterBefore(jwtFilter, ...);
// 04 PUBLIC SECTOR · 2024

Internship Request Portal — R.A.K

Régie Autonome Intercommunale de Kénitra

A centralized public-sector platform automating the full internship application workflow for a utility handling 500+ cases a year — replacing an entirely manual, paper-based process.

PROBLEM

Internship requests were tracked on paper — lost forms, no status visibility, weeks of back-and-forth.

OUTCOME

A single auditable queue from submission to approval and archival — handling 500+ cases without paper.

500+
annual cases handled
+40%
faster processing
SymfonyPHPMySQLphpMyAdmin
↗ View on GitHub
request-workflow.svg● automated
1 · Applicant submits
2 · Review queue · staff dashboard
3 · Approval / reject · notified
4 · Archived · searchable
// 05 SIDE PROJECT

Expense.SIB Mobile

Flutter / Spring Boot · deployed internally

A cross-platform mobile app paired with an encrypted Spring Boot backend for secure inventory and expense management — built so field staff could work without exposing data on the device.

RESULT

Faster, more accurate stock counts in the field — with encrypted sync back to the central system.

+30%
inventory accuracy
FlutterDartJavaSpring BootCrypto
↗ View on GitHub
mobile-sync.svg● encrypted
Flutter
app
Spring API
TLS · crypto
encrypted sync ↑↓
Central DB
// 06 HOMELAB

Self-hosted Infrastructure Gateway

Raspberry Pi · Linux

A self-hosted Linux server on a Raspberry Pi — hardened config, reverse proxy, DNS routing, and network gateway. Practical, hands-on validation of sysadmin, networking, and security-hardening skills.

WHY

Because the best way to understand production infra is to run your own — firewall, TLS, DNS and all.

LinuxRaspberry PiNginxDNSNetworking
↗ View on GitHub
gateway.conf
1
2
3
4
5
6
7
server {
  listen 443 ssl;
  server_name home.local;
  location / {
    proxy_pass http://10.0.0.20:8080;
  }
}  # ufw deny incoming
// TECH STACK

Skills

// SECURITY & PROTOCOLS
RBACJWTSpring SecurityAESRSAAPI SecurityVulnerability Mgmt
// BACKEND ENGINEERING
PythonFastAPIPydanticJava 22Spring BootHibernatePHPSymfonyNode.js
// FRONTEND
ReactRedux ToolkitTypeScriptViteTailwind CSSFlutterDart
// CLOUD & DEVOPS
DockerAWSLinuxGitAlembicNetwork Architecture
// DATABASES
MariaDBMySQLMongoDBSQL OptimizationRelational Modeling
CERTIFICATIONS
AWS
Cloud Security
AWS Academy
AWS
Engineering Operations
AWS Academy
AWS
Cloud Foundations
AWS Academy
// LET'S WORK TOGETHER

Get in touch

contact.sh
#!/bin/bash
# Open to full-time roles, freelance projects, and collaboration.
# Response within 24h.
phone+212 659 59 28 23
locationBouknadel, Salé, Morocco — open to remote / hybrid / relocation
→ email me ↓ download CV (PDF)
// Designed & built by Mohamed Mabsout · 2026
⎇ main Open to opportunities EN · FR UTF-8 Ln 1, Col 1