Go engineer based in Singapore. I work on backend systems and developer tools.
I'm interested in type-safe APIs, plugin lifecycles, and tools that make everyday development easier.
Core maintainer of go-gorm/gen, GORM's type-safe query and code generation toolkit. My work includes API design, code generation, compatibility fixes, and ongoing maintenance.
I also contribute to the wider GORM ecosystem: gorm · mysql · playground.
- cordis-go — A Go plugin framework inspired by Cordis, focused on lifecycle management, reversible effects, and dependency changes under concurrency.
- stream — A streaming computation toolkit for Go, shared across my data projects.
- ivy — A rule engine for hierarchical content construction.
- rcast — A DLNA/UPnP receiver for macOS that plays media through IINA.
I use Neovim, Yazi, and coding agents in my daily workflow. Some small projects grew out of things I wanted to work differently:
- dsh-quote-followup — Quote conversation text into native composer chips for follow-up questions.
- dsh-proxy — Configurable outbound proxy support for DeepSeek Harness.
- dsh-tui.yazi — Start dsh-TUI from Yazi with selected files.
- agent-relay — A skill and protocol for handing off tasks between coding agents.
My Neovim configuration is also public.



