no project
Bash / Shell
The language of my server operations: diagnostics, container inspection and deployment scripts.
no project
The language of my server operations: diagnostics, container inspection and deployment scripts.
no project
The language of my Computer Science degree projects, including a full Minesweeper with a graphical interface.
no project
The language I came into web development through, still my go-to for Discord bots, browser extensions and throwaway scripts.
no project
My résumé and my professional bachelor's thesis, with a custom document class and a BibTeX bibliography.
no project
Learned during training through Symfony and Laravel: routing, controllers, Doctrine and Twig templates.
no project
no project
My language for data, computer vision and automation scripting, from embedded bicycle counting to a ROM translator.
no project
Used only a few times, to get to know the language and build lightweight applications.
no project
Still useful, even when I use ORMs: for quick queries, calculations, analysis and more.
no project
The framework behind my personal site, on version 7. I picked it exactly where Next.js adds nothing: an admin back office with authentication, TOTP and media management.
no project
Radix's successor from the same team, adopted on my recent projects for its accessible, unstyled primitives. I use it as the foundation of my own component package shared across the apps of a monorepo.
no project
My current authentication solution, including its passkey support. I really appreciate it for its modularity, its documentation and the people working on it. I discovered this technology in its very early days and got hooked quickly.
no project
The web framework of my thesis project: a dashboard for bicycle count data, using Django's ORM, its generated admin and Chart.js visualizations. It was the right call for a project where the data mattered more than the interface.
no project
My ORM when I want SQL to stay visible: the schema is TypeScript, queries read like SQL, and migrations are versioned files I review before applying.
no project
Used to expose a geographic data API: processing with pandas, geocoding with geopy, OpenAPI documentation generated automatically from type hints.
no project
My first taste of image processing: face detection on video streams and still images using Haar cascades. That project is what pushed me further toward deep learning.
no project
The ORM behind my Next.js apps, valued for its declarative schema and fully typed client.
no project
The computer vision side of my thesis project: object detection with YOLOv5, where I contributed to cover cases that weren't handled on Windows.
no project
The accessible primitives underneath my Next.js interfaces: dialogs, menus, selects, tooltips. They taught me what a genuinely accessible component looks like (focus management, keyboard navigation, ARIA attributes) before I could rebuild one myself.
no project
Learned during training by building a full site: routing, controllers, Doctrine and Twig templates. A solid introduction to the conventions of a structured MVC framework.
no project
My styling layer on every project. I use it as an assembly language on top of my own design tokens, not as an off-the-shelf theme.
no project
My trust boundary, on version 4: everything entering an app is validated by a schema, and the TypeScript type is inferred from it rather than declared twice.
no project
My component library, with one distinction that matters: the code is copied into the project, so I own it and I adapt it.
no project
My linter and formatter on every recent project, replacing the ESLint + Prettier pairing. One tool, one configuration, and fast enough to run on pre-commit without anyone wanting to bypass it.
no project
My default JavaScript runtime for a while now: runtime, package manager, test runner and workspaces in a single binary. I also use its native APIs, in particular bun:sqlite, with no native dependency to compile, which massively simplifies the final Docker image.
no project
I started using it from the terminal and ended up in the desktop app. The progress AI brings to development, and the speed it allows, make me more productive and let me focus on other important things: thinking, choosing the technologies, writing, shaping a vision that matches what I have in mind. And above all, I no longer hit the wall I used to face when I wanted to start a project and didn't know where to begin.
no project
The quality tooling I used before Biome, and still maintain where the ecosystem requires it, like my AdonisJS site which ships the framework's official config. I can write a custom rule when a team convention deserves to be automated.
no project
Conventional commits, short-lived branches, a readable history: I treat a commit message as something written for whoever runs git blame two years from now.
no project
no project
The runtime for my projects that rely on an ecosystem Bun doesn't fully cover yet.
no project
My front-end build tool whenever no framework dictates one: instant startup, reliable hot reload, minimal configuration. I use it with the React plugin plus the Babel plugin that enables the React Compiler.
no project
My test runner on Vite and Next.js projects, with a genuinely handy watch UI during development.
no project
The foundation of every deployment I run: multi-stage builds, minimal images.
no project
no project
no project
My default for a single-user application: no server, no network latency, one file to back up.
no project
My self-hosted observability stack: service uptime, privacy-respecting web analytics, machine metrics.
no project
Platform I used after Netlify, allowing me to manage my database and multiple deployments.