AI tool builder · independent developer
I design and ship practical AI tools for real workflows — browser extensions, developer utilities, and creator tools — with React, TypeScript, and Cloudflare.
A narrow, repeated friction point becomes a small product, close to the page, the diff, or the file already on the machine.
| Lane | What I ship | Instinct |
|---|---|---|
| Browser AI | On-device translation and page-side assistance | Keep the reading context; prefer local models |
| Creator tools | Local video, covers, lyrics, and photo conversion | Keep the file in the browser |
| Developer utilities | Commit messages, a JS runtime, and agent channels | Make routine engineering more direct |
| Edge apps | React and TypeScript on Cloudflare | Workers, D1, R2 — small enough to debug |
const henry = {
position: 'AI Tool Builder',
base: 'zhanghe.dev',
builds: ['browser AI', 'creator tools', 'developer utilities'],
stack: ['React', 'TypeScript', 'Rust', 'Cloudflare Workers', 'D1', 'R2'],
openSource: ['amberjs'],
filter: 'real workflow problems',
ship: true,
} as const;Amberjs — a JavaScript and TypeScript runtime in Rust and V8. One amber binary runs scripts, Jest-style tests, MCP tools, and in-process amber:ai, with an opt-in capability sandbox and oxc type-stripping. Node Conformance 5.0 scores 55/55 fixtures; coverage is per-API, and the runtime is not a Node.js clone. MIT. → amberjs.com
The homepage features four. The full index of 14 is at zhanghe.dev/products.
| Product | Job to be done | Built around |
|---|---|---|
| Amberjs | Explore a JavaScript runtime from the V8 boundary | Rust + V8, one binary, opt-in sandbox |
| Native Translate | Translate the web without breaking reading context | Chrome Translator and Language Detector, on-device |
| Git Commit Analyzer | Turn a staged diff into a Conventional Commit | Local llama.cpp and GGUF models |
| Video Clipper | Turn long videos into short clips without uploading | FFmpeg.wasm, in the browser |
- Browser AI — MangoFlow keeps a multi-model chat beside the page. Translate runs on-device, with Hy-MT models delivered through Cloudflare.
- AI infrastructure — Xiaomaolv is a self-hosted Rust Telegram agent: MiniMax or an OpenAI-compatible provider, MCP tools, and SQLite memory. Binance Square Post MCP is a hosted remote MCP so Grok, ChatGPT, and Gemini can publish without self-hosting.
- Creator and media — Cover Moment for local social covers, Suno Lyric Downloader for LRC and SRT, HEIC to JPG and WebP Converter for in-browser photo conversion, and Unbg for on-device cutout or a cloud fal BiRefNet API that does not store files by default.
- Creative — Alchemy, a creation system for getting from an idea to an output.
- Workflow first — start from a step people already repeat: context switching, uploading, or manual cleanup.
- AI with a reason — translation, commit writing, page-side help, and routing. The model has to remove work.
- Privacy and speed — local processing and a clear data boundary whenever the product allows it.
- Small tools, clear constraints — one friction point, a public page, and a loop for the next iteration.
hello@zhanghe.dev:~$ connect --work
[OK] portfolio loaded | product lab online | notes shipping




