Chendi WuMediaProjectsBlog

Projects

A collection of tools, apps, and experiments I've built — most are open source, privacy-first, and run entirely in the browser.

IKUI preview
IKUI
React UI Component Library

Beautiful, sophisticated UI components designed for modern React and Tailwind CSS applications. A collection of pre-built, refined components to streamline web app development.

Next.jsBase UITailwind CSS v4shadcnTypeScript
LiveCode
fingerprintd preview
fingerprintd
Server-authoritative Device Fingerprinting Service

Server-authoritative device fingerprinting for anti-fraud: the client collects browser and network evidence, the server burns a one-time nonce and scores it with two-stage blocking + Fellegi–Sunter matching, returning a stable visitorId with a confidence and decision. One Rust engine, compiled to WASM, powers both a native Axum server and a Cloudflare Worker.

RustWebAssemblyAxumCloudflare WorkersTypeScript
LiveCode
ActorLab preview
ActorLab
Browser-based 3D Director Stage

A browser-based 3D director stage for staging characters, props, cameras, and panoramas in a real-time WebGL scene — pose figures joint-by-joint, direct cameras with cinematography presets, and capture shots into a storyboard. Built with React 19 + Three.js.

React 19Three.jsViteZustandTailwind CSS v4
LiveCode
cdhub preview
WeChat Mini Program
cdhub
Personal Hub WeChat Mini Program

A uni-app + Vue 3 + UnoCSS personal hub that mirrors wcd.pages.dev and layers on self-contained tools: a blog mirror (posts / projects / media), Flox aggregated video search (SSE multi-source), an RTMP viewer/pusher, and a habit-log calendar. Hand-rolled UI with a green "ledger / terminal" theme, no third-party component library.

uni-appVue 3UnoCSSWeChat Mini ProgramTypeScript
Code
Flnk preview
Flnk
Privacy-first Link Shortener

A privacy-respecting URL shortener with edge-based redirect logic (KV cache + D1 fallback), geo/device routing, password protection via Argon2id, and cookieless analytics powered by Cloudflare Analytics Engine. AI slug generation, social login, and a full dashboard with export/import/backup.

Next.js 16DrizzleD1 / LibSQLbetter-authWorkers AICloudflare Workers
LiveCode
Clearify preview 1
Clearify preview 2
Clearify preview 3
Clearify preview 4
Clearify preview 5
Clearify
Image & Video Processing Toolbox

One-click background removal, batch compression (AVIF / WebP / JXL and more), and video compression with up to 90% size reduction. Everything runs locally in your browser — no uploads, no servers.

Next.jsTransformers.jsWebGPUFFmpeg.wasm
LiveCode
Dropply preview
Dropply
Local Encryption & Encrypted File Sharing

Encrypt and decrypt files and text locally with XChaCha20-Poly1305 — password or public-key mode, all in a Web Worker. Optionally share the finished ciphertext via a retrieval code (no key in the link); the server never sees plaintext. Decoupled into a Next.js web app and a Cloudflare Workers API.

Next.jsCloudflare WorkersXChaCha20-Poly1305Argon2idECIESWeb Workers
LiveCode
ByCut preview
ByCut
Browser-based Video Editor

A fully client-side, open-source video editor — a privacy-first alternative to CapCut. All editing happens locally in your browser with zero server uploads.

Next.jsZustandFFmpeg.wasmTransformersWaveSurfer.js
LiveCode
Flox preview
pwd: aa.2026
Flox
Video Aggregation & Playback Platform

Multi-source parallel video search with real-time streaming results (SSE) and 38+ built-in sources. Built-in HLS/M3U8 playback with ad filtering and Service Worker caching.

Next.jsZustandTanStack QueryHLS.jsTailwind CSS v4
LiveCode
byplay preview
byplay
Online Video Player

A versatile online video player with HLS adaptive bitrate support, configurable buffering, and seamless integration with vidl for one-click video download.

Next.jsHLS.js
LiveCode
vidl preview
vidl
Online Video Downloader

A browser-based video downloader that auto-detects URL format and handles M3U8/HLS, MP4, WebM, MKV, FLV, and more, with near-zero memory stream download via the Streams API.

Next.jsmux.jsStreams API
LiveCode
byTTS preview
byTTS
Browser-based Text-to-Speech Tool

Convert text to natural-sounding speech via Microsoft Azure Cognitive Services. Supports SSML synthesis, streaming audio output, and fine-grained voice controls.

Next.jsEdge RuntimeAzure Cognitive Services
LiveCode
byshot preview
byshot
Personal Photography Collection

A Cloudinary-backed photography gallery with a responsive masonry layout and a full-screen lightbox. Deep-linkable photos and last-viewed scroll restore make browsing feel native.

Next.jsCloudinaryZustandmotionTailwind CSS v4
LiveCode
text2img preview
text2img
Browser-based Text-to-Image Generator

Generate images from text prompts using multiple AI models including FLUX, SDXL, and DreamShaper. Supports random prompts and rich parameter controls with real-time preview.

Next.jsTanStack QueryCloudflare AICloudflare Workers
LiveCode
values preview
values
Crypto / Fiat / Commodity Value Comparison Tool

Compare cryptocurrencies, fiat currencies, and commodities side by side on a unified scale. Enter any asset or amount and instantly see what it is equivalent to.

Next.jsTailwind CSS
LiveCode
LiveUser preview
LiveUser
Real-time Online User Counter

Embed a single script tag to display real-time online user count and total visits on any webpage. Backed by the WebSocket Hibernation API and Durable Objects SQLite.

HonoCloudflare WorkersDurable ObjectsSQLite
LiveCode
repo-changelog preview 1
repo-changelog preview 2
repo-changelog preview 3
repo-changelog preview 4
repo-changelog preview 5
repo-changelog
GitHub Release / Changelog Aggregation Dashboard

Track releases and changelogs from multiple GitHub repositories in a single dashboard. Search by repository, user, or organization and sort by stars or update time.

NuxtVercelTailwind CSS
LiveCode
wepush preview
wepush
WeChat Template Message Push Console

A database-backed web console for managing and sending WeChat template messages — recipient management, template editing, scheduling, and permanent push logging.

Next.jsDrizzleD1 / LibSQLTanStack QueryCloudflare Workers
LiveCode
argo2id-wasm preview
argo2id-wasm
High-Performance Argon2id Password Hashing

High-performance Argon2id password hashing powered by a WebAssembly module compiled from Rust, runnable in browsers and on Cloudflare Workers.

RustWebAssemblyArgon2idCloudflare Workers
LiveCode
jsc preview
jsc
JavaScript → WebAssembly Compiler

An ahead-of-time compiler that turns JavaScript/TypeScript directly into WebAssembly, running on Wasmtime with no JIT or interpreter. NaN-boxed values, a bump-allocated linear-memory heap, and closures with capture-by-reference, with support for generators, async/await, try/catch, and classes.

RustWebAssemblyCompilersSWCWasmtime
Code
@cdlab/image preview
@cdlab/image
Unified Image Processing Library

One image library, three runtimes: decode/encode PNG, JPEG, WebP, JPEG XL, AVIF, and Radiance HDR; resize, crop, rotate, and flip; QR code generation/detection; and visible/blind watermarking. Each capability ships as its own lazy-loaded WASM artifact, with an optional native N-API addon for faster Node.js processing.

RustWebAssemblyTypeScriptImage Processing
Code
Baccarat preview
Baccarat
Telegram Baccarat Game Bot

A Telegram baccarat game bot on Cloudflare Workers — full baccarat rules with dice-animated dealing, auto-game mode, and per-group isolation with game history via Durable Objects SQLite.

HonoGrammyCloudflare WorkersDurable ObjectsTypeScript
LiveCode
Lowcode Engine Vue preview
Lowcode Engine Vue
Vue 3 Low-Code Engine Demo

A low-code engine demo built on top of Vue 3 — drag-and-drop component composition and visual page editing.

Low-CodeVue 3
LiveCode
Lowcode Engine Vue 2.7 preview
Lowcode Engine Vue 2.7
Vue 2.7 Low-Code Engine Demo

A Vue 2.7-compatible low-code engine demo, adapted for projects still running on the Vue 2 line.

Low-CodeVue 2.7
LiveCode
Copyright (c) 2023-PRESENT All Rights Reserved. Powered by wudi