Led delivery of three EU Commission Drupal sites, including their migration from Drupal 8 to 9 and 10.
Gathered requirements, ran weekly client calls and demos, and made technical decisions.
Reviewed code and planned the allocation of up to two part-time developers with their manager.
Wrote technical documentation and supported non-technical stakeholders through implementation.
ETP (European Training Platform): Search tool providing courses for justice professionals across Europe
Replaced a manual 70-page Excel/PDF report with a public interactive dashboard (dynamic filters, data and chart exports), shaped by sitting with its users.
Built a non-public import module with a standardized Excel template for consistent input and number formats.
Replaced manual course entry from four vendors with an admin import: choose the source, fetch via API or upload PDF/Word, batch import, and review a results report.
EWSI (European Web Site on Integration): Website providing up-to-date information and good practices on migrant integration in Europe for policymakers and practitioners
Built a newsletter component builder (Paragraphs, Newsletter module, Open Europa ECL) so editors could compose and send without a developer; trained the editors and tested with the business.
Hand-coded ECL components as accessible HTML with inline CSS and Outlook conditional handling, and tested delivery via my own SMTP server against Gmail and Outlook since MailHog didn’t match production.
CPP (Child Participation Platform): Platform offering a safe space for children to learn about their rights and voice their opinions
Chose H5P for interactive content and protected a public form with a custom captcha and Webform honeypot.
Built a Python pipeline to parse, validate and merge Excel files into a report and merged file, cutting the process from about 5 hours to 5 minutes.
Across projects