Tattoo
Cats
Bass
Cooking

About Me
An engineer who doesn’t look like one

I’m a front-end developer, sometimes dabbling in product design and a bit of not-so-serious full-stack work.
I grew up in Chaozhou’s ancient town and now live in Guangzhou. I’ve always been surrounded by Lingnan and Hong Kong culture, and I mostly speak Cantonese and Teochew in daily life.
I’m into being on my own, raising cats, long hair, tattoos, rock & metal, and cooking — all the good stuff.
Recent Blog
Tech Insights, Product Design & Life Musings

An Oxc-first workflow package for Oxlint and Oxfmt
I have been following the Oxc project for quite a while. After seeing it enter the 1.x line some time ago, I had wanted to put together a configuration for it, and over the past few days I finally found time to work on it. At the current stage, however, Oxlint still cannot fully replace ESLint, so for now I simply call this package Integration rather than oxc-config.
2026/4/14 01:30:00

Vue Picture Cropper 1.x Released: The Design Philosophy Behind It
2026/2/24 17:05:02

A modern flat ESLint configuration for ESLint V9
2025/3/14 00:35:02
Open Source Projects
Projects that I created or maintaining
@web-analytics/core
Website pageview analytics tool for framework-free and multi-analytics-platform support.
vite-plugin-banner
A Vite plugin that adds a banner comment to the header of each chunk file.
group-buy-calculator
A takeaway billing calculator, no need to worry about red envelopes, redemption coupons and other messy reductions, it will automatically calculate the discount ratio to get the final bill.
@blackwork/search
Pagefind integration for Blackwork projects, with server-side indexing utilities and browser-side search clients.
learning-vue3
Which has been read by more than 2.3 million people, provides basic knowledge points about front-end engineering development, as well as an introductory learning guide for TypeScript, Vue 3, and Pinia.
@bassist/oxc-integration
An Oxc-first workflow package for projects, while still keeping an ESLint fallback available where framework coverage is not yet enough.
@bassist/utils
Opinionated collection of common JavaScript / TypeScript utils, fully tree shakeable, no bundler required, type strong, SSR friendly.
