Head of Web Development — RCF Link to heading

Lyon | Since 2024

Technical lead of a 3-developer team, responsible for the architecture of a multi-channel media platform: public site (Nuxt), editorial back-office (Drupal), mobile app, API, AWS infrastructure.

Orders of magnitude: 65 local radio stations broadcast, 460,000 monthly sessions, 150 back-office journalists, around ten microservices. Production release every two weeks for four years.

My role spans every layer of the system: architecture diagnosis and trade-offs, performance optimization (database, API, front-end), integration design, data migration. I work on an existing production system: I understand it before I change it, and I measure the impact of every change. The work below details a few concrete cases — context, decision, result.

Role in the team. Two developers with pure-dev profiles apply the concepts and build; I own the architecture and the technical trade-offs. We work as a team on ~90% of projects — sprint planning, twice-weekly stand-up, code reviews, documentation. Cross-cutting or higher-risk pieces (serverless infrastructure, data migration) are taken on solo, deliberately: it frees the team for the projects tied directly to the organization’s business. Technical support — reviews, skill growth, shared architecture decisions — is part of the role as much as the code.

Database optimization — AWS RDS / MariaDB Link to heading

The database hit 100% CPU 3–4 times a week — unpredictable, 30 to 90-minute spikes — causing 500 and 504 errors on the back-office. The standard reflex would have been to scale the instance up. Measurement (RDS Performance Insights, CloudWatch) showed it was already oversized and that a Drupal cache rebuild was saturating it — scaling up would have cost more and solved nothing. Three weeks of targeted work: indexing, rewriting the costliest queries, fixing access patterns.

Result, measured one month before / one month after: CPU load down 54%, residual spikes at 50 average active sessions instead of 400, 504 errors sharply down. The lower load now makes a cost-reducing instance downsizing possible — sizing analysis in progress.

Full case study

Serverless donation gateway — AWS Link to heading

Two external providers — a donation platform and a CRM — could not exchange data, for a flow representing over 50% of the station’s funding. Designed and built alone, in two months, a serverless gateway described entirely as AWS CDK (infrastructure as code) and engineered for failure rather than the happy path:

  • API Gateway: entry point (webhook emitted on each donation).
  • Lambda: data transformation between the two formats.
  • DynamoDB: deduplication by transaction ID.
  • SQS: decoupling and retry (3 attempts), dead-letter queue with e-mail alert for manual handling.
  • Secrets Manager and dedicated IAM policies to isolate each provider’s tokens.

In production since early 2026: ~10,000 donations processed, zero incidents, zero duplicates, €4/month running cost.

Full case study

Data migration — 2025 merger Link to heading

When the organization merged with another radio, its full editorial dataset had to move onto our platform — with no usable export on the source side and incompatible data models. Full extraction from their API (Python, pagination, retry), transformation into a JSON pivot format, loading through the existing Drupal Feeds module rather than a custom importer, batch migration with replayable steps validated with the business teams.

Result: 4,000 episodes, 1,500 articles and several hundred GB of media migrated, alone — no data loss, ahead of deadline, final cut-over with SEO redirects. Source platform decommissioned.

Full case study

Mobile app rebuild — React Native Link to heading

The app was at end of life, a rebuild was needed, with no deep in-house mobile expertise. Rather than improvise it: an experienced React Native contractor to lay the foundations, the in-house team developing alongside them, and personal ownership of the API resources the app consumed. Shipped May 2026 on Android and iOS — 4/5 on Android.

Also during this period Link to heading

  • Front-end migration Nuxt 2 → Nuxt 3 → Nuxt 4 and full TypeScript adoption — end of support, foundation realigned on maintained versions.
  • Backend: up to 75% response-time reduction on the slowest API endpoints (SQL queries, caching strategy).
  • Operations: DNS, TLS certificates and local nginx. The cloud infrastructure (Kubernetes on AWS, Redis, RDS, EC2) is run by a DevOps provider.

LLMs in the workflow Link to heading

LLMs are part of my daily work as accelerators, under a strict frame, with Claude Code in particular. Concrete uses: infrastructure reasoning, code optimization, test generation, problem investigation. The model analyzes, generates and critiques hypotheses, produces a plan broken into batches; solution validation and technical trade-offs stay human. This workflow was applied as-is to the RDS investigation above.


Fullstack Developer — RCF Link to heading

Lyon | 2022 – 2024

  • Technical SEO overhaul with an SEO provider: +30% SEO visits in one year.
  • Mobile app stabilization (React Native) under a store deadline (Android API level 35): ~50% fewer crashes (Crashlytics); set up a Cognito-based authentication service.
  • CI/CD: built the pipeline behind the two-week release cadence still running four years later.
  • Backend PHP architecture refactor: migrated procedural legacy code to entity classes, factored calls and standardized API responses — markedly better readability and maintainability for the team.