Tattoo

Cats

Bass

Cooking

True Colors: A Decade

About Me

An engineer who doesn’t look like one

Photos of me with long hair

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.

Learn more >

Recent Blog

Tech Insights, Product Design & Life Musings

An Oxc-first workflow package for Oxlint and Oxfmt

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

Open Source Projects

Projects that I created or maintaining

@bassist/utils

11
3
3.79M

Opinionated collection of common JavaScript / TypeScript utils, fully tree shakeable, no bundler required, type strong, SSR friendly.

Toolkit

@bassist/tsconfig

11
3
17.93k

Some TSConfig files for working with TypeScript projects.

Configuration

@blackwork/search

1

Pagefind integration for Blackwork projects, with server-side indexing utilities and browser-side search clients.

Toolkit

chengpeiquan.com

60
9

My personal website, base on React 19 and Next.js 15.

Template

@web-analytics/vue

9
1
383.28k

Website pageview analytics tool for Vue.js (Including VuePress , VitePress etc.) and multi-analytics-platform support.

Toolkit

@blackwork/machine

1

Markdown and MDX engine for the Blackwork React UI ecosystem, powering Blackwork-based blogs and documentation sites.

Toolkit

@bassist/oxc-integration

11
3

An Oxc-first workflow package for projects, while still keeping an ESLint fallback available where framework coverage is not yet enough.

Configuration

@iso-639/data

2
9.34k

Contains code lists for ISO 639-1 and ISO 639-2 as well as multi-language support.

Toolkit

vite-plugin-banner

113
6
18.94M

A Vite plugin that adds a banner comment to the header of each chunk file.

Bundling

@bassist/node-utils

11
3
41.58k

Opinionated collection of common Node.js utils.

Toolkit

git-commit-analytics

31
2

A tool to analyze your git repository's commit log. I can help you generate daily/weekly or longer work reports.

Program