Researcher-builder working across evidence-first AI, agent workflows, local-first research apps, and production web work.
连接证据优先 AI、agent 协作工作流、本地优先研究应用与生产级 Web 工作的研究型开发者。
- I build AI-assisted products where source evidence, guardrails, and user workflows matter.
- My research background is Cantonese speech, tone, and emotional prosody; it keeps my engineering work grounded in human judgment and evidence.
- I ship local-first desktop apps, developer tools, production web work, portfolio agents, and language-learning tools from design through release.
- Shipping Evidoc, an evidence-backed documentation drift control plane for agentic repositories.
- Tightening Codex, OpenCode, Grok, MCP, and personal skill workflows around review gates and release discipline.
- Developing local-first academic and viva-prep tools with evidence traces and opt-in external calls.
- Evolving han-dong.link with source-grounded Q&A, Role Fit briefs, and spatial portfolio UI.
| Project | What it does | Stack |
|---|---|---|
| Evidoc | Evidence-backed documentation drift control for README, AGENTS, docs, examples, and agent instructions | TypeScript / CLI / MCP / GitHub Actions |
| opencode-plugin-codex | Codex plugin that runs OpenCode as a bounded reviewer, rescue agent, and handoff target | TypeScript / MCP / OpenCode CLI |
| grok-plugin-codex | Codex plugin that delegates bounded review, rescue, and adversarial analysis to the local Grok CLI through MCP | TypeScript / MCP / Grok CLI |
| Dong-skills | Personal skill collection for Claude<->Codex, Codex<->OpenCode, and Codex<->Grok collaboration workflows | Skills / Agent Workflows / Docs |
| D-academic-agent | Local-first academic evidence workspace for claim and citation auditing | TypeScript / Electron / MCP / SQLite |
| D-viva-assistant-agent | Thesis viva preparation app with evidence-linked practice, scoring, and revision tasks | Next.js / Electron / AI SDK / SQLite |
| relaybar-open | macOS menu-bar monitor for AI coding account pools, remaining quota, and throttled states | Swift / macOS |
| Cantonese-Mandarin-Cross-Ref | Learner-facing lookup tool for Cantonese and Mandarin readings with Jyutping and audio | JavaScript / Language Education |
Agent & evidence tools: TypeScript Node.js MCP Codex Plugins OpenCode Grok CLI AI SDK
Local-first apps: Electron SQLite better-sqlite3
Production web: Next.js React Tailwind CSS Supabase Cloudflare Resend Sentry Umami i18n
Native / product surfaces: Swift macOS JavaScript Astro
Quality gates: GitHub Actions Vitest Playwright
Evidence first. Keep the boundary visible. Ship the useful path first.
- Personal site and source-grounded portfolio: han-dong.link
- Research thread: Cantonese speech, tones, emotional prosody, and learner-facing language tools.
- Engineering thread: agent workflows, bounded multi-agent review, documentation drift control, local-first AI products, production web work, and practical developer tools.
Thanks for stopping by.


