Write-ups on things I've built, with the trade-offs and the parts I'd change.
I'm Eric (Haizhou) Cheng — a full-stack developer in Perth, Western Australia. I build production software with AI-assisted workflows, and most of what interests me is the engineering around that: how you make AI-generated code safe to merge, and how you keep a system honest when a language model is one of its inputs.
PopOut Market — Engineering Decision Log Five production decisions on a live React Native + PostgreSQL marketplace: enforcing a response schema on every model call, putting authorisation in the database rather than the application, keeping search consistent with a transactional outbox, going forward-only on migrations, and having a second model review the first. Includes what each one cost and the two I'd do differently.
SEO and multilingual architecture for a Next.js marketing site Eight locales, 295 pre-rendered routes and a 240-URL generated sitemap with no i18n library and no SEO plugin — including why 248 Melbourne suburbs became 9 pages instead of 248, and a worked example of diagnosing a "Page with redirect" indexing failure. Source for the site itself is public at PopOut-Market/Website, so the numbers are checkable.
- CCC — a macOS overlay for Claude Code and Codex CLI sessions, and a permission gate on every agent tool call. TypeScript + Electron.
- CCC-MAGI — a drop-in harness that forces AI-written changes through spec → cross-model audit → tests → commit.
- Token Forest — a pixel desktop pet that grows a tree from the AI tokens you spend.
- popoutmarket.com.au · tokenforest.com.au