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/vue
Website pageview analytics tool for Vue.js (Including VuePress , VitePress etc.) and multi-analytics-platform support.
blackwork
Blackwork Tattoo style React UI layout (provides a unified interface for websites like my blog).
cert-patroller
A patroller that regularly checks for expiring SSL certificates, based on Node.js and Porkbun APIs.
@bassist/utils
Opinionated collection of common JavaScript / TypeScript utils, fully tree shakeable, no bundler required, type strong, SSR friendly.
vite-plugin-banner
A Vite plugin that adds a banner comment to the header of each chunk file.
git-commit-analytics
A tool to analyze your git repository's commit log. I can help you generate daily/weekly or longer work reports.
zhihu-collection-helper
Zhihu Favorites Assistant can add articles from a column to favorites. It is suitable for situations where a large amount of content needs to be filled in the favorites at the initial stage of creation.
