Developer & product designer. I build native apps and the tools I wish existed.
| App | What it does |
|---|---|
| ζΈζΏ | Ad-free novel, comic & RSS reader β paste a URL, read offline. No account, no tracking Β· Website |
| Simple CF | Fast, native iOS & iPadOS client for your Cloudflare account |
| AmbientSound | Ink-wash styled white noise & sleep app β play and mix ambient sounds |
| MiniGames | Four childhood arcade games, redesigned for touch |
| Ringtone Cutter | Trim any song into an iPhone ringtone β waveform editor, fades, one-tap "Use as Ringtone" |
| ε°ζζε‘θ² | Offline iPad coloring book for kids 5 and under β tap-to-fill, textured brushes, stamps. No ads, no network |
| App | What it does |
|---|---|
| MarkNote | Local-first WYSIWYG Markdown editor (Tauri, React, CodeMirror 6) |
| WiFiDetect | Wi-Fi signal, traffic monitoring and HTTP(S) debugging for macOS, with an iPhone & iPad companion |
| Assistant | Private, fully local AI assistant for Apple Silicon Macs |
| DbClient | Native rewrite of a DBeaver-class database client β Rust core, Metal grid, no JVM. ~35 databases from Postgres and MySQL to ClickHouse, DuckDB, MongoDB and Snowflake |
| Viewer | Lightweight image viewer for macOS & Windows β arrow keys browse the folder, the wheel zooms. JPEG, PNG, GIF/WebP animation, BMP, TIFF, SVG; a 48 MP photo takes about 75 MB of memory |
| FontsMaker | Turn open-source fonts into e-reader fonts β embolden, pseudo-vertical, simplified β traditional β saved as a recipe the CLI rebuilds byte for byte. macOS, iPhone & iPad |
| InputMethodEditor | Windows Chinese IME (Zhuyin & Pinyin) built on libchewing |
| macshot for Windows | Windows port of macshot: annotate, record, OCR + translate, scroll capture |
| LiteBrowser | Lightweight tabbed browser for low-memory Windows / VDI β keeps only a few tabs live, freezes or discards the rest. Chrome extensions, built-in MCP server |
| apitool | Portable Postman-style API client for low-memory machines β REST, GraphQL, WebSocket, gRPC, MQTT; Postman/OpenAPI import. Unzip and run |
Most install via Homebrew: brew tap linzeyan/tools && brew install --cask <name>
| Tool | What it does |
|---|---|
| Poly | One CLI + two VSCode extensions that replace a pile of per-language highlight / lint / format extensions |
| formatter | Multi-format file formatter CLI in pure Rust |
| pm | CLI for managing v2ray / sing-box / xray |
| redis-top-keys-analyzer | Find the biggest and hottest keys in Redis |
| s3dal | S3-compatible gateway β serves the S3 API from a local directory, another S3 service, Azure Blob or GCS via Apache OpenDAL. One binary, or embed as a library |
| nginx | Auto-built nginx / OpenResty .deb / .rpm packages, statically linked, tracking upstream releases |
| file-format-viewer | Browser extension that pretty-prints and syntax-highlights raw data and config files |
CLIs install via Homebrew: brew tap linzeyan/tools && brew install <name>
| Tool | What it does |
|---|---|
| draft | Paste a SQL schema, get an ER diagram you can pan, zoom and edit β runs entirely in your browser |
| transform | Developer toolbox in Rust/WASM: UUID, JWT, hashes, JSON β YAML/TOML/XML, and more |
| keybr ζ³¨ι³ | Zhuyin (Bopomofo) typing trainer β a keybr.com fork that drills your weakest keys |
| SCROLLING.LIGHT | Full-screen LED marquee that lives entirely in the URL β no backend, works offline, installable as an app |
| Project | What it does |
|---|---|
| PaperCut | Fold virtual paper, cut shapes, unfold to see the pattern, export as SVG |
| Pintu | Turn any image into a coloring page or jigsaw puzzle |
| Universe | Animated solar system & Milky Way β rotation and orbits |
- loadconf β Go: declare a config struct, load it from files, environment variables and etcd
- webp-go β Pure-Go WebP encoder (lossy, lossless, animation, alpha), no cgo
π Earlier work
- ops-cli β A collection of useful tools for ops
- block β Block IPs manually or from Nginx logs
- gpgen β Generate GraphQL or protobuf schema from model files
- gd β Get DNS zones and records from AWS, Cloudflare, West
- k8s_cluster β Install a k8s cluster with just
vagrant up



