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

A modern flat ESLint configuration for ESLint V9
ESLint v9.0.0 is a major release of ESLint, it has several breaking changes, the biggest of which is the use of its configuration files and plugin ecosystem. For new projects, I provide an ESLint Config package with some of my personal commonly used ESLint configurations built in.
2025/3/14 00:35:02
Open Source Projects
Projects that I created or maintaining
git-commit-analytics
A tool to analyze your git repository's commit log. I can help you generate daily/weekly or longer work reports.
@re-dev/react-truncate
Provides `Truncate`, `MiddleTruncate` and `ShowMore` React components for truncating multi-line spans and adding an ellipsis.
@bassist/utils
Opinionated collection of common JavaScript / TypeScript utils, fully tree shakeable, no bundler required, type strong, SSR friendly.
cert-patroller
A patroller that regularly checks for expiring SSL certificates, based on Node.js and Porkbun APIs.
@iso-639/mapping
ISO 639 language code mapping toolkit, which can easily help you manage language data.
vite-plugin-banner
A Vite plugin that adds a banner comment to the header of each chunk file.