Available for freelance projects
Drupal developer · Rabat, Morocco
Drupal development for institutional and business websites.
I build and maintain Drupal sites — custom modules, multilingual content, API integrations and version migrations. I maintain AI Content Translator, a contributed module on Drupal.org covered by the security advisory policy.
- Contributed module on Drupal.org
- Covered by the Drupal security advisory policy
- Featured in The Drop Times
AI Content Translator
Automatic translation that respects the work of human translators. It marks the text it generates, so a routine translation run refreshes only its own output and leaves human-written or human-edited translations alone.
- Fingerprints its own output, so human-written or human-edited translations are only replaced when you explicitly ask
- Works with OpenAI, Azure OpenAI, and local OpenAI-compatible servers such as Ollama
- Translates nodes, taxonomy terms and interface strings, with optional recursion into Paragraphs
- Configurable prompt templates and optional per-language glossaries
- Long runs go through Drupal's Batch API
- Latest release
- v1.0.1
- Compatibility
- Drupal 11.1 & 12
- License
- GPL-2.0
- Security
- Advisory policy coverage
“Human-authored or human-edited translations stay untouched unless an overwrite is explicitly requested.”
Services
What I'm usually hired for
Institutional & corporate websites
Drupal sites for public institutions, organisations and companies — built for editorial teams, multiple languages and a long maintenance life.
- Information architecture and content modelling
- Editorial workflows and role-based permissions
- Accessibility and performance work
- Multisite setups on a shared codebase
Custom Drupal modules
Functionality Drupal doesn't ship with, written to core standards so it survives the next major version.
- Custom modules, hooks, plugins and event subscribers
- Extending contributed modules rather than forking them
- Automated tests and coding-standards compliance
- Patches contributed upstream where it makes sense
Multilingual Drupal
Sites that work properly in several languages — including the translation workflow behind them, which is where most multilingual projects get stuck.
- Content, interface and configuration translation
- AI-assisted translation that preserves human work
- Per-language glossaries and terminology control
- RTL support for Arabic alongside French and English
Migration & version upgrades
Moving sites off Drupal 7 or older versions, and keeping current ones current, without losing content or search rankings.
- Drupal 7 / 9 / 10 → 11 and 12 upgrades
- Content and configuration migration pipelines
- Pre-migration audits of contributed modules
- URL and redirect mapping to protect SEO
API integration & headless Drupal
Connecting Drupal to the systems around it, or serving it as a backend to a separate frontend.
- REST and JSON:API endpoints
- Decoupled Drupal with React or Next.js frontends
- Third-party and business-system integrations
- Authentication, OAuth2 and access control
Maintenance & support
Keeping a site secure and up to date after launch — security releases, dependency updates and the occasional fix.
- Security release monitoring and patching
- Core and contributed module updates
- Performance and error monitoring
- Ongoing development on a retainer
Selected work
Projects and contributions
- 2026Maintainer
AI Content Translator
A contributed Drupal module for AI translation that never overwrites human work
Drupal 11Drupal 12MultilingualPHP - 2026Drupal Developer
Institutional Drupal platforms
Agency work on Drupal sites for public institutions and international organisations
DrupalMultilingualInstitutionalAccessibility - 2026Drupal Developer
Drupal migrations & version upgrades
Moving sites off end-of-life Drupal without losing content or search rankings
Drupal 7Drupal 11MigrationMigrate API
About
I'm a Drupal developer based in Rabat. I work at FORNET, a web agency whose clients are largely public institutions and international organisations, which is where most of my experience with institutional websites comes from — multilingual content, editorial workflows, accessibility and long maintenance cycles.
Before FORNET I worked at Pyxicom on agency web projects, and started out as a .NET developer at ANCFCC, Morocco's land registry and cartography agency.
I contribute back to Drupal where I can. AI Content Translator came out of a practical problem on multilingual projects: automatic translation is useful, but it shouldn't quietly overwrite what a translator wrote.
Experience
Rabat web agency building digital platforms for public institutions and international organisations.
Drupal Developer
·PyxicomWeb and digital agency work — custom sites and client platforms.
.NET Developer
·ANCFCCMorocco's national land registry and cartography agency.
What I work with
Drupal
- Drupal 10 / 11 / 12
- Custom module development
- Hooks, plugins & event subscribers
- Multilingual & content translation
- Migrations and version upgrades
- Multisite architecture
Backend
- PHP 8
- Symfony components
- MySQL / MariaDB
- REST & JSON:API
- OAuth2
- .NET
Frontend & tooling
- JavaScript / TypeScript
- React & Next.js
- Twig
- Tailwind CSS
- Git
- Docker
- CI/CD
English · French · Arabic
Start a project
Tell me what you're building. I reply within a couple of working days.