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

@web-analytics/vue

9
1
372.49k

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

Toolkit

blackwork

1
8.59k

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

UI

@bassist/tsconfig

11
3
17.93k

Some TSConfig files for working with TypeScript projects.

Configuration

refresh-token

11
3

The refreshToken scheme and demo based on OAuth 2.0 for Front end developer.

Tutorial

@bassist/changelog

11
3
6.50k

Simple CHANGELOG generator.

Toolkit

@re-dev/react-truncate

53
8
3.64M

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

UI

@bassist/utils

11
3
3.63M

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

Toolkit

react-forage

2
4.40k

LocalForage Hooks and Providers for React.

Toolkit

vue-picture-cropper

150
10
3.64M

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

UI

@bassist/progress

11
3
36.52k

Simple slim progress bars base on NProgress.

UI

@bassist/build-config

11
3
1.25k

Opinionated collection of common build tool configurations.

Configuration