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

Vue Picture Cropper 1.x Released: The Design Philosophy Behind It

Vue Picture Cropper 1.x Released: The Design Philosophy Behind It

During this Spring Festival holiday, I gave the vue-picture-cropper package a major update, mainly to address some long-standing design and engineering issues. Although it's a breaking change, the migration cost for users is low, and there are now more flexible usage patterns (e.g. composables). I also gathered some thoughts while rewriting the source code, and I'd like to share them in this post.

2026/2/24 17:05:02

Open Source Projects

Projects that I created or maintaining

chengpeiquan.com

60
9

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

Template

zhihu-collection-helper

3

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.

Program

@web-analytics/core

9
1
370.91k

Website pageview analytics tool for framework-free and multi-analytics-platform support.

Toolkit

vue3-ts-vite-starter

15
2

A template for Vue with TypeScript, base on Vite.

Template

@bassist/progress

11
3
28.26k

Simple slim progress bars base on NProgress.

UI

@bassist/tsconfig

11
3
8.58k

Some TSConfig files for working with TypeScript projects.

Configuration

@iso-639/mapping

2
3.15k

ISO 639 language code mapping toolkit, which can easily help you manage language data.

Toolkit

vite-plugin-banner

113
6
11.25M

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

Bundling

@bassist/changelog

11
3
6.46k

Simple CHANGELOG generator.

Toolkit

@bassist/build-config

11
3
1.13k

Opinionated collection of common build tool configurations.

Configuration

cert-patroller

3
2

A patroller that regularly checks for expiring SSL certificates, based on Node.js and Porkbun APIs.

Server