Skip to content
View slayerfx's full-sized avatar

Block or report slayerfx

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
slayerfx/README.md

Louenn Penanc'hoat

Full stack developer.

I work mostly in PHP and Python. 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.

Portfolio → slayerfx.github.io

Projects

Strength training site in PHP 8: exercise library, custom workout programs and a daily energy expenditure calculator (Mifflin-St Jeor). MVC architecture written without a framework, MySQL through PDO with prepared statements, PHPUnit tests.

SoundCloud downloader with a local web interface. FastAPI + yt-dlp, progress pushed over Server-Sent Events, no build step and nothing loaded from a CDN. 36 tests, ruff linting, CI on Windows and Linux.

One hand-written page — HTML, CSS and JavaScript, no framework, no build step, nothing loaded from a CDN. Bilingual, light and dark themes, three self-hosted variable typefaces, and a perfect 100 across every Lighthouse category.

Every push is checked four ways: markup validity, Lighthouse scores, dead links, and contrast ratios. That last one is 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 for a site that has none. The script caught a real defect Lighthouse had missed: a grey at 4.48 against a 4.5 threshold.

Open source

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

Pinned Loading

  1. soundgrab soundgrab Public

    SoundCloud downloader with a local web interface: tracks, playlists, likes and whole profiles as tagged MP3 with cover art. FastAPI + yt-dlp, live progress over Server-Sent Events, no build step.

    Python

  2. onemorerep onemorerep Public

    Strength training site in PHP 8: exercise library, custom workout programs, TDEE calculator and a nearby-gym map. MVC without a framework, MySQL through PDO, PHPUnit tests.

    PHP

  3. PHPOffice/PhpProject PHPOffice/PhpProject Public

    A pure PHP library for reading and writing project management files

    PHP 209 103

  4. PHPOffice/PHPPresentation PHPOffice/PHPPresentation Public

    A pure PHP library for reading and writing presentations documents

    PHP 1.4k 544

  5. PHPOffice/Math PHPOffice/Math Public

    A pure PHP library for manipulating Math Formula

    PHP 33 4

  6. slayerfx.github.io slayerfx.github.io Public

    My portfolio — one hand-written page: HTML, CSS and JavaScript, no framework, no build step, nothing loaded from a CDN.

    CSS