What I'm doing now
A living page — inspired by nownownow.com. Last updated April 2026.
Running WebberUI
WebberUI went live at webberui.com on July 30, and it takes most of my week. The current work is a fourth batch of 20 components — Chinese localization, Taiwan checkout flows, AI panels, and a few basics that were missing — with 11 of them wired in so far. The rest of the time goes to finishing the bilingual site, which is down to its last pages.
Fixing the search cold start
WebberUI's search rebuilds its index over 780 documents, Mandarin tokenizer included, on every cold isolate — about 3.6 seconds of CPU per request. I tried two ways out and both were worse: a static index makes anyone who opens the search box download 4 MB, and the edge cache reported zero hits after deploy. The fix is to build the index at build time and only load it at runtime.
Waiting on two real devices
LastChat is v1 feature-complete and its 418 automated tests pass, but I still cannot honestly call it verified. Bluetooth mesh between two phones, ChromaCode decode at real distances, and live calls all compile on both platforms and have never run on hardware — a simulator has no radio. What this needs next is devices, not more code.
Leaving ShrinkML at NO-GO
ShrinkML's extraction engine works and is tested, but its own release gates return NO-GO, and several of them ask for independent reviewers and real customer evidence that a one-person company cannot produce. I am leaving it there rather than claiming a state I cannot prove. Staging went to zero machines on August 17 to stop the spend.
Rewriting this site
This site is hand-built — the WebGL field, the scrolling, the small studio I use to edit it. I am going through the copy now so it describes what is true instead of what was planned last quarter.
Writing up the Taiwan localization work
The most useful thing I built this year is also the least glamorous: 22 components covering the things every Taiwanese frontend project rewrites from scratch. The first piece is on tax-ID validation and the seven ways generated code gets the check digit wrong — the rule changed in 2023 and most implementations still use the old one.
Open to collaboration Get in Touch