Systems builder · Agent infrastructure · Developer tooling
Mobile engineering → Full-stack engineering → Livestreaming → Agent infrastructure
- ⚡ awsl — A durable JavaScript workflow runtime for coding agents: concurrent branches, budgets, resumable runs, and isolated Git worktrees with Codex or Claude.
- 🌉 drawbridge — An on-demand macOS intranet guard: listed domains and CIDRs fail fast off VPN, implemented with Swift, a LaunchDaemon, and raw utun/TUN.
- 📐 PromQL Formatter + CLI — A shared Go library and CLI that also powers a local-only browser extension through WebAssembly.
- ✍️ Writing — Long-form notes on agent engineering, distributed systems, livestreaming, databases, observability, and the craft of building software.
I started in mobile engineering across Android and iOS, expanded into full-stack work spanning frontend, backend, and data crawling, then moved into large-scale livestreaming. At Tencent, Kuaishou, and Shopee, that path kept widening into growth, observability, developer experience, and AI systems. Different chapters, same obsession: make complex systems easier to operate, debug, and trust.
Now I am applying that production mindset to AI engineering. I have run more than 10B model tokens through AI-assisted workflows; one of those experiments became a shipped project built almost entirely with coding agents. Generation is not the hard part. The engineering around it—context, isolation, evaluation, recovery, and verification—is.
Selected scale from systems and teams I have helped build:
| 20M+ peak concurrent users on a livestream signalling platform |
50% ↓ peak signalling bandwidth through compression and aggregation |
5h+ → 10m team P0 MTTR after a reliability overhaul |
- Agent systems that survive reality — orchestration, memory, context engineering, delegation, evaluation, cost control, and failure recovery.
- Production engineering as executable workflows — turning operational knowledge into repeatable tools instead of tribal memory.
- Sharp, local-first utilities — small interfaces, explicit boundaries, and user data kept on-device whenever practical.
| Chapter | What I worked on |
|---|---|
| Shopee · 2021–now | Work spanning content, growth, rewards, observability, developer experience, and AI systems. |
| Kuaishou · 2018–2021 | Livestreaming backend architecture and stability at massive concurrency, including a signalling framework adopted across hundreds of product use cases. |
| Tencent · 2016–2018 | Full-stack engineering across frontend, backend, and data crawling for news and video products. |
| Mobile engineering · early career | Android and iOS product engineering, followed by my first mobile open-source libraries. |
In parallel, I have been shipping open source since 2015: mobile libraries → JVM introspection → PromQL and local-first tools → durable agent runtimes.
The thread connecting every chapter is simple: systems should fail well. Cancellation, timeouts, isolation, tracing, backpressure, recovery, and escape hatches are product features—not cleanup work.
- LunarCalendar — A Java implementation of the Chinese lunar calendar, first released in 2016 and still maintained a decade later.
- markdown-it-plantuml-ex — Render PlantUML offline from Markdown, keeping diagram source on your machine.
- arthas-mvel — My maintained fork of Arthas that restores MVEL command support and ships a self-contained launcher for JVM diagnosis.
- jugg — A Java REPL for exploring live JVM objects through WebSocket and OGNL.
- vi2048 — Terminal 2048 with vi controls, because developer tools are allowed to be fun.
Earlier open source
- MDPreference — An Android preference library; now deprecated and preserved for history.
- ChangeColorTab — An early Android tab component with animated color transitions.
- From LLM to Agent — a two-part series on engineering, frameworks, and delivery (part II).
- Scalable Live Streaming Interactive Service — modelling interactive livestream systems at scale (part II).
- HTTP 请求的优雅取消 — how cancellation propagates across browsers, proxies, and Go services.
- MySQL InnoDB Locks — a practical map of record, gap, and next-key locks.
- 给 Markdown 程序员的写作能力提升指南 — writing clearly as an engineering skill.
- Close the verification loop. Fast generation is useful only when the output can be inspected, tested, and recovered.
- Automate, but keep escape hatches. The happy path should be repeatable and the failure path inspectable.
- Turn production pain into tools. If a problem repeats, the solution should become reusable infrastructure.
- Ship and explain. Good systems deserve clear interfaces, useful diagnostics, and writing that makes the trade-offs legible.






