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

Obsidian x Feiniu NAS: Building a Free Cross-Platform Note Sync & Backup Solution

Obsidian x Feiniu NAS: Building a Free Cross-Platform Note Sync & Backup Solution

I restarted journaling on August 1st, 2019, and have now kept it up for 6 years! Initially, I used a cloud note app, but four months ago I gradually migrated all the data to my home NAS. When I scraped the data back, I was surprised to find it was nearly 8 GB... I always thought it was mostly text, but turns out I included quite a few images. Looking back through it all, my life has been pretty colorful, haha!

2025/10/8 23:42:03

Open Source Projects

Projects that I created or maintaining

@re-dev/react-truncate

51
8
2.99M

Provides `Truncate`, `MiddleTruncate` and `ShowMore` React components for truncating multi-line spans and adding an ellipsis.

UI

vue-picture-cropper

141
10
1.78M

A simple and easy-to-use picture cropping component for Vue 3.

UI

vite-plugin-banner

109
5
9.07M

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

Bundling

@bassist/progress

11
3
28.26k

Simple slim progress bars base on NProgress.

UI

blackwork

1
4.91k

Blackwork Tattoo style React UI layout (provides a unified interface for websites like my blog).

UI

@bassist/utils

11
3
3.34M

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

Toolkit

chengpeiquan.com

60
9

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

Template

vue3-ts-vite-starter

15
2

A template for Vue with TypeScript, base on Vite.

Template

@iso-639/mapping

2
1.55k

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

Toolkit

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

learning-vue3

1.45k
169

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.

Tutorial