Projects
A collection of tools, apps, and experiments I've built — most are open source, privacy-first, and run entirely in the browser.
Beautiful, sophisticated UI components designed for modern React and Tailwind CSS applications. A collection of pre-built, refined components to streamline web app development.

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.

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.

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.

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.
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.

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.

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.

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.

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

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.

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

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.

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.

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.

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.
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.

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

High-performance Argon2id password hashing powered by a WebAssembly module compiled from Rust, runnable in browsers and on Cloudflare Workers.
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.
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.

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.

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










