Full stack developer.
I work mostly in PHP, the language of my training. I contribute to the PHPOffice libraries — file format support, static analysis and CI — and I build my own tools when nothing out there does quite what I need. My Python and PowerShell projects are built with the help of AI.
Portfolio → slayerfx.github.io
Strength training site, my final course project, in production.
- Exercise library, custom workout programs, a daily energy expenditure calculator (Mifflin-St Jeor) and a map of nearby gyms
- MVC architecture written without a framework
- MySQL through PDO with prepared statements, PHPUnit tests on the business logic
Audio downloader with a local web interface: SoundCloud, YouTube, Bandcamp, Mixcloud. Built with the help of AI.
- Tracks, playlists or whole profiles, saved as tagged MP3 with cover art
- Progress pushed live over Server-Sent Events
- No build step, nothing loaded from a CDN
- 36 tests, ruff linting, CI on Windows and Linux
Two PowerShell tools for my own Windows PC, built with the help of AI and documented in English and French.
- pc-tuning makes a gaming and creation PC faster and more responsive: telemetry and promotional apps off, no power saving on the graphics card, USB and network links, the Ultimate Performance power plan, and optionally the Nahimic audio layer removed
- Windows Update and driver installs quietly undo some of these: it checks about forty settings, re-applies what drifted, and saves the previous state first so everything can be undone
- It also reports what only the BIOS or the hardware can fix (XMP profile, Resizable BAR, Secure Boot, SATA or NVMe drive), with guides, and puts Microsoft's 2023 Secure Boot certificates back after a BIOS update
- windows-disk-cleaner often frees several GB on the system drive, deleting only what rebuilds itself: shader caches of old NVIDIA drivers, driver packages already installed, old app versions, browser and code editor caches. Dry run first
- Syntax, PSScriptAnalyzer and smoke tests on a Windows runner at every push
One hand-written page: no framework, no build step, nothing loaded from a CDN.
- Bilingual, light and dark themes, three self-hosted variable typefaces
- A perfect 100 in every Lighthouse category
- Every push checked four ways: markup validity, Lighthouse scores, dead links and contrast ratios
- Contrast is checked by a dependency-free script written for this site: Lighthouse audits one theme at a time, and emulating the dark one meant pulling in 219 packages. The script caught a grey at 4.48 against a 4.5 threshold that Lighthouse had missed
Eleven-week internship spent on the PHPOffice PHP libraries, May to July 2026 — 41 merged pull requests across five repositories.
Most of it went into PhpProject (209 ★, 32 PRs):
- Four file formats implemented, reading and writing — Gnome Planner, MSPDI and ProjectLibre, plus an HTML writer rendering a Gantt chart.
- PHPStan raised from level 1 to 6, one level per pull request, alongside
declare(strict_types=1)and typed signatures across the source. - CI migrated from Travis to GitHub Actions — extended PHP matrix, PHPStan job, samples execution check, code coverage, Dependabot.
- Documentation migrated from Sphinx to MkDocs, then to ProperDocs.
The remaining nine went to the other four libraries:
| Project | PRs | Contributions |
|---|---|---|
| PHPPresentation · 1.4k ★ | 3 | Coverage under PHPUnit 10+, minimum PHP version raised, version guard on imagedestroy() |
| Common | 3 | PHPStan up to level 7, PHPStan 2.x support, PHP 8.5 in the CI matrix |
| PHPWord | 2 | PHP 8.5 support, PHPUnit constraint fixing the test suite |
| Math | 1 | PHP 8.5 in the CI matrix |