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.






