Backend and DevOps engineer. I build distributed server-side systems, and the pipelines that ship them.
Software engineering graduate, ISIMS Sfax · Tunisia
Multi-tenant backends. Schema-per-tenant isolation, OAuth 2.0 and OpenID Connect through Keycloak enforced at the service layer rather than only at the gateway, declarative RBAC that fails closed, and a transactional outbox so a business change and its event can't disagree.
Offline-first mobile. Delivery drivers lose signal in basements and stairwells, so their app writes to a local queue first and replays it on reconnect — timestamped at the moment of the gesture, not the moment of upload, and idempotent on the server so a lost acknowledgement can't charge a customer twice.
Containers and AWS. Everything ships as Docker images pinned to a commit SHA, so the server runs exactly the artifact that was tested. Infrastructure is declared in Terraform — VPCs, security groups, EC2 and RDS in private subnets, EKS, load balancers and Auto Scaling Groups with CloudWatch-driven policies — and configured with Ansible, including pre-deploy backup and a rollback that restores rather than just logging.
From commit to running system. Build, test, scan, provision, deploy, in that order because it costs least to fail early. The goal is simple: nobody opens an SSH session to release.
Most of my work lives on GitLab, including a self-hosted instance at work. The repositories here are published copies, so the pipelines defined in them run elsewhere.
| ASM Track | Multi-tenant delivery platform. 6 Spring Boot services, schema-per-tenant PostgreSQL, Keycloak OIDC, ERP adapters driving Odoo 16/19 and ERPNext from one codebase, and a RAG assistant scoped to each user's permissions. 271 REST endpoints, 580+ automated tests. |
| Driver App | The companion Flutter app, built offline-first. Actions are written to a local queue and replayed on reconnect, timestamped at the moment of the gesture rather than the moment of upload. |
| MoodTunes | Flutter + Node.js on AWS. Terraform provisions the ALB, Auto Scaling Group and MongoDB Atlas; the pipeline then feeds the live load balancer DNS into the app's config before building the APK, so the network layer can be rebuilt without touching code. |
| Laravel Cloud Migration | One application moved from a hand-managed VPS to Terraform-provisioned AWS, with both targets kept alive and shipped by the same seven-stage pipeline — so the trade-offs could be measured instead of argued. |
Backend
Data and messaging
Infrastructure
Client
| Certification | Issuer | Date | |
|---|---|---|---|
| AWS Cloud Technical Essentials | Amazon Web Services | Apr 2025 | verify |
| Infrastructure Automation with Terraform | Whizlabs | May 2025 | verify |
| Scrum Fundamentals Certified (SFC) | ScrumStudy | — | verify |
Open to backend and DevOps roles. Reach me on LinkedIn or by email.

