Software Engineer 🖥️ working w/ JS, TS, Node.js, React, Vue
Learn more »
Photography
·
Media
·
Projects
·
Email
·
Telegram
A collection of tools, apps, and experiments I've built — most are open source, privacy-first, and run entirely in the browser. See them all at projects.
| Project | Description |
|---|---|
| IKUI | Beautiful, refined UI components for modern React + Tailwind CSS apps — pre-built primitives that speed up web app development. |
| fingerprintd | Server-authoritative device fingerprinting for anti-fraud — the client only collects evidence; the server burns a one-time nonce, fuzzy-matches it (blocking + Fellegi–Sunter), and returns a visitorId + confidence + decision. One Rust engine powers both a native Axum server and a Cloudflare Worker. |
| 3D Characters | A browser-based 3D director stage: stage characters, props, cameras and panoramas, pose figures joint-by-joint, and capture shots. |
| Flnk | Privacy-first URL shortener with edge redirects (KV cache + D1 fallback), geo/device routing, Argon2id password protection, cookieless analytics, AI slug generation, and a full dashboard. |
| Clearify | One-click background removal, batch image compression (AVIF / WebP / JXL…), and up to 90% smaller video — all running locally in the browser, no uploads. |
| Dropply | Local-first encryption with optional sharing — encrypt/decrypt files and text in the browser (XChaCha20-Poly1305 in a Web Worker; password or public-key/ECIES mode), then share the finished ciphertext via a retrieval code. The key travels out-of-band, never in a URL, so the server only ever stores ciphertext. |
| ByCut | A fully client-side, open-source video editor — a privacy-first CapCut alternative that edits locally with zero server uploads. |
| Flox | Multi-source parallel video search with real-time streaming results (SSE) across 38+ sources, plus built-in HLS/M3U8 playback with ad filtering. (🔑 aa.2026) |
| byplay | Versatile online video player with HLS adaptive bitrate, configurable buffering, and one-click handoff to vidl for downloads. |
| vidl | Browser-based video downloader that auto-detects format (M3U8/HLS, MP4, WebM, MKV, FLV…) and streams to disk with near-zero memory via the Streams API. |
| byTTS | Convert text to natural-sounding speech via Azure Cognitive Services — SSML synthesis, streaming audio output, and fine-grained voice controls. |
| byshot | Cloudinary-backed photography gallery with a responsive masonry layout, full-screen lightbox, deep-linkable photos, and last-viewed scroll restore. |
| text2img | Generate images from text prompts with FLUX, SDXL, and DreamShaper — random prompts, rich parameter controls, and real-time preview. |
| value-vision | Compare cryptocurrencies, fiat currencies, and commodities side by side on a unified scale — enter any asset or amount and see the equivalent. |
| LiveUser | Drop in one script tag for real-time online-user count and total visits, backed by the WebSocket Hibernation API and Durable Objects SQLite. |
| repo-changelog | Track releases and changelogs from many GitHub repos in one dashboard — search by repo, user, or org and sort by stars or update time. |
| wepush | Database-backed console for managing and sending WeChat template messages — recipients, template editing, scheduling, and permanent push logs. |
| argo2id-wasm | High-performance Argon2id password hashing via a WebAssembly module compiled from Rust — runs in browsers and on Cloudflare Workers. |
| Baccarat | A baccarat card game built as a Telegram Mini Program. |
| Lowcode Engine Vue | A low-code engine demo built on Vue 3 — drag-and-drop component composition and visual page editing. |
| Lowcode Engine Vue 2.7 | A Vue 2.7-compatible low-code engine demo for projects still on the Vue 2 line. |
| A WeChat Mini Program built with uni-app + Vue 3 + UnoCSS — a personal hub that mirrors the site wcd.pages.dev and adds a few self-contained tools on top. |
| Package | Description |
|---|---|
| @cdlab/driftflake | 64-bit Snowflake ID generator with drift mode and non-blocking clock-rollback handling. Zero dependencies, TypeScript, number/bigint. |
| @cdlab/zustand-idb | Persist Zustand stores in IndexedDB. TypeScript, serializable state, works with the persist middleware. |
📦 Legacy packages — earlier Lowcode Engine & Toolkit work, kept for reference
| Package | Description |
|---|---|
| @cdlab996/lowcode-hooks2.7 | 🏗️ Hooks for renderer/simulator |
| @cdlab996/lowcode-utils2.7 | 🏗️ Utility methods for renderer/simulator |
| @cdlab996/lowcode-vue-renderer2.7 | 🏗️ lowcode renderer using Vue2.7 framework |
| @cdlab996/lowcode-vue-simulator-renderer2.7 | 🏗️ lowcode simulator renderer using Vue2.7 engine |
| @cdlab996/lowcode-engine-ext-vue | 🕹️ Adapt lowcode-engine-ext to the Vue version. |
| @cdlab996/plugin-directive-loading | 🧩 Vue directive v-loading |
| @cdlab996/lowcode-plugin-manual | 🧩 lowcode product user manual |
| @cdlab996/lowcode-plugin-set-doc-url | 🧩 Component material new documentation address |
| @cdlab996/lowcode-plugin-vue-code-editor2.7 | 🧩 lowcode CodeEditor for Vue 2.7 (Not available yet) |
| @cdlab996/vite-plugin-lib-types2.7 | 🔨 Generate typescript declarations, Supports Vue2.7 Files |
| @cdlab996/create-lowcode2.7 | 🔨 Scaffold tool for initializing Lowcode projects |
| @cdlab996/vue-cli-plugin-lowcode2.7 | 🔨 Development and build tool plugin for Lowcode engine |
| @cdlab996/element-plus-lowcode-materials | 🎨 Element Plus(2.6.3) Materials for Vue3 |
| @cdlab996/antd-lowcode-materials | 🎨 Ant Design Vue(4.1.2) Materials for Vue3 |
| @cdlab996/vant-lowcode-materials | 🎨 Vant(4.8.10) Materials for Vue3 |
| @cdlab996/element-lowcode-materials2.7 | 🎨 Element(2.15.13) Materials for Vue2.7 |
| @cdlab996/antd-lowcode-materials2.7 | 🎨 Ant Design Vue(1.7.8) Materials for Vue2.7 |
| @cdlab996/vant-lowcode-materials2.7 | 🎨 Vant(2.12.54) Materials for Vue2.7 |
| Package | Description |
|---|---|
| @cdlab996/eslint-config-ts | 🔨 Eslint TypeScript |
| @cdlab996/eslint-config-next | 🔨 Eslint Nextjs |
| @cdlab996/eslint-config-react | 🔨 Eslint React |
| @cdlab996/eslint-config-vue | 🔨 Eslint Vue |
| @cdlab996/eslint-config-vue2 | 🔨 Eslint Vue2 |
| @cdlab996/prettier-config | 🔨 prettier |