Chapter 01

Professional Experience

From 2016 to today, from Tunis to Paris, drawn as a git graph. The main branch carries the salaried jobs; the freelance and Pepprio branches (my own company) fork from it at their start date and are closed when the mission ends. Each job is a commit, the newest at the top.

Salaried
permanent, fixed-term, full time
Freelance
closed at the end of the mission
My company
Pepprio
  1. IT & Generative AI Project Manager

    389e3e2 · 09/25 – Present

    ORPI France · Clichy, Île-de-France, France · Hybrid · permanent

    • Leading several IT projects in parallel: scoping, requirements gathering, specifications, planning and delivery follow-up
    • Designed and built OrpiHub, the network data platform: sales steering, mapping, exports, agency audits
    • AI business assistant: LLM agents, more than 120 business tools, MCP server in production, Claude plugin for the teams
    • RAG over business documentation and AI-generated audit reports
    • Extracting and consolidating network figures (revenue, mandates, sales, GIE), KPIs and briefing notes for management
    • Making CRM data reliable (SweepBright, JEMS), mapping flows between tools (Ubiflow, Digitaleo, ActiveCampaign, Modelo), API automations, GDPR compliance
    • Symfony
    • PHP 8
    • React
    • TypeScript
    • GraphQL
    • SQL Server
    • MySQL
    • PostgreSQL
    • BigQuery
    • Docker
    www.orpi.com ↗
  2. Founder & Full Stack Developer

    d00c737 · 11/24 – Present

    Pepprio · Paris, Île-de-France, France · Hybrid · my company

    • Uber Eats, Deliveroo, Just Eat and Glovo orders gathered on a single screen, with automatic printing
    • Point of sale (POS), kitchen display (KDS), self-order kiosk and a single menu synced to every platform
    • Automatic detection and dispute of platform claims and refunds
    • Stripe subscriptions, real-time webhooks, continuous deployment on a self-hosted server
    • For independent restaurants, dark kitchens, multi-site chains and quick-commerce players
    • Product vision, development, deployment and day-to-day operations
    • PHP 8.4
    • Symfony 7
    • GraphQL
    • Vue 3
    • TypeScript
    • MySQL
    • Redis
    • Stripe
    • Docker
    • Traefik
    www.pepprio.com ↗
  3. Lead PHP Developer

    12929e0 · 09/24 – 08/25

    CCM Benchmark – Groupe Le Figaro · Paris, Île-de-France, France · Hybrid · permanent

    • Lead Developer in the Core team, made up of Lead Developers, which works on every project and supports the other squads
    • Work across all CCM Benchmark projects (CommentÇaMarche, Journal des Femmes…)
    • Set up cache tags on Akamai to purge the cache in a targeted way
    • Built internal data imports
    • Technical support for the other development squads
    • Native PHP, Symfony (several versions) and API Platform; Docker environments for deployment and continuous integration
    • PHP
    • Symfony
    • API Platform
    • Akamai
    • Docker
    • MySQL
    www.commentcamarche.net ↗
  4. Full Stack Developer → Tech Lead PHP/Symfony, ReactJS, GraphQL

    cd6c6dd · 09/18 – 08/24

    Keytchens · Paris, Île-de-France, France · Hybrid · freelance 09/2018 – 08/2020, then permanent

    • Freelance · remote09/18 – 08/20Built the platform alone, from Tunisia: Uber Eats invoicing rebuilt through scraping, explanatory emails to restaurants about their Uber Eats and Deliveroo invoices
    • Permanent contract09/20 – 08/24Symfony / React developer (09/20 – 10/21): launched the order aggregator, hired the team, Jira, dailies and weekly retrospectives; then Tech Lead PHP/Symfony, ReactJS, GraphQL (10/21 – 08/24)
    • Migrated Symfony from 2.8 to 6.4 with zero downtime
    • Led a team of 4 developers: task assignment (JIRA), code review, delivery quality
    • Integrated the Uber Eats and Deliveroo APIs, real-time order management
    • Cloud and Bluetooth order printing
    • Symfony, ReactJS and Ionic Capacitor applications; GraphQL API
    • High-traffic multi-server Debian/Ubuntu infrastructure: Jenkins, Docker, Redis, MySQL, Apache2, Postfix, Sentry
    • PHP 7.4
    • Symfony 2.8 → 6.4
    • ReactJS
    • Ionic Capacitor
    • GraphQL
    • MySQL
    • Redis
    • Docker
    • Jenkins
    • Sentry
    • JIRA
    keytchens.com ↗
  5. PHP Symfony Consultant (assignment at Manymore)

    d37d4b8 · 07/19 – 08/20

    Matalto · Nanterre, Île-de-France, France · On site · full time

    • Consultant for Matalto, on assignment at Manymore (Nanterre)
    • Migrated Symfony from 2.8 to 3.4
    • Corrective maintenance (TMA) and performance improvements
    • Evaluated and implemented GraphQL to optimise data access
    • PHP
    • Symfony 2.8 / 3.4
    • GraphQL
    • Git
  6. Symfony Developer (assignment)

    279a900 · 12/18 – 03/19

    Mobelite · Tunis, Tunisia · fixed-term

    • Short assignment just before moving to France
    • Built a Symfony module that consumes and reads Apache Kafka messages
    • Designed and developed applications with Symfony and Node.js
    • New push notification delivery system
    • Symfony
    • Apache Kafka
    • Node.js
    • Linux
    • Git
  7. Symfony Developer

    8113c14 · 03/18 – 11/18

    Pixels Trade · Tunis, Tunisia · full time

    • Developed applications with Symfony 2.8 and Python
    • Integrated Jenkins and Codeception to automate testing and deployment
    • Validated deliverables and released them to production
    • Symfony 2.8
    • Python
    • Jenkins
    • Codeception
    • Linux
    • Git
  8. Symfony / Mobile Developer

    5172e18 · 11/16 – 10/17

    Argolife · Tunis, Tunisia · full time

    • Developed native and hybrid mobile applications, including P/T Slider for Climalife (Google Play)
    • Symfony 2.8 development
    • Contributed to Drupal and WordPress projects
    • Symfony 2.8
    • Android
    • Drupal
    • WordPress
    • Git