Skip to content

Open source

Projects I maintain and contributions to the ecosystem. What I build when a tool I need doesn't exist yet — or when I find it broken.

Projects

  1. Active

    oxlint-tailwindcss

    Native oxlint plugin for Tailwind CSS v4. 22 rules, autofix, zero-config. Built from the ground up for Tailwind v4 and used in production in multi-million LOC monorepos.

Contributions

Issues and PRs in ecosystem projects. Some were resolved by the upstream team based on the report, others I implemented and merged myself.

  1. h3js/h3

    h3: preserve percent-encoded req.url for HTTP proxies

    After a security fix, h3 (the HTTP router behind Nitro/Nuxt) was decoding req.url and breaking any proxy that expected the URL in percent-encoded form. Result: nuxt-og-image OG images with accented characters (UTF-8) returned 400 in the dev server. I reported the issue, proposed the fix and opened the PR — merged in h3 v1.x.

  2. withastro/astro

    @astrojs/cloudflare: surface errors from the prerender server

    The Cloudflare adapter's prerenderer was discarding the response body on 500s from workerd, returning an opaque error that hid the actual cause (e.g. GetStaticPathsRequired). I filed the issue with a proposed patch and the Astro team applied it two days later.