
UniExp HK
Connecting study recruitment and participation in one continuous workflow.
Live in three languages, connecting publishing, applications and review.
Founder & sole builder — product, engineering and operations
From language research and teaching to AI products and open-source tools,and from filmmaking to close readings—this is a record of my explorations and practice.


Connecting study recruitment and participation in one continuous workflow.
Live in three languages, connecting publishing, applications and review.
Founder & sole builder — product, engineering and operations
FILM → TRACEABLE EVIDENCE
Source · keyframes
Intervals · transcripts
Analysis · references
Keyframes · timestamps · evidence bundle
CREATIVE INTENT → DELIVERABLE
Sources · extraction
Scenes · approval
Freeze · gap report
The screenplay is the product. Film output is paused.
Carrying a director’s creative intent into a deliverable screenplay.
Cantonese · Speech · Emotion
How we express emotion, and how we understand one another through voice.
Published research
JSLHR · 2025
SSCI · SCIE · Scopus
Browse research ↗
A concept film made with generative models; long-form film readings elsewhere in Screen.
Turnweft is now available on GitHub and npm. It lets you ask Dim, Droid, Grok, OpenCode, and agy to review code, make changes, or answer questions from Claude Code or Codex. The agents work in your project folder, return results to your conversation, and let you continue the same session later. Turnweft is the successor to my six earlier OpenCode, Grok, and agy plugins, archived on 2026-10-05. See Work for the project introduction and how to get started.
I rebuilt the three Screen Studies from the latest analyses: episode-by-episode navigation for The Laid-Off Girl, pacing charts, cast presence and scene tables, and public-facing wording throughout.
Read more ↗The four collaboration skills now define writer handoffs, targeted repair reviews, artifact-specific evidence, and recovery through current plugin contracts. A read-only checker compares source and installed skill directories. The project page also brings together the six plugins connecting OpenCode, Grok, and Antigravity to Claude Code and Codex.
Read more ↗Storyspan (源映) received its name on 2026-09-04 — formerly Director Intent OS. Its product architecture has four modules: knowledge extraction, creation (the screenplay product), generation preparation and compilation, and Film Run. The screenplay is the only sellable product, the finished film is an internal output, and Film Run is paused. Knowledge extraction is usable, the screenplay main chain is wired end to end, and generation preparation and compilation can output frozen prompt packages with explicit capability-gap reports and judge whether a package has gone stale. The system has not produced a finished film. The full case is in Work.
I published Silence Recorder, a thirty-second concept film in seven shots — the first original film on the site, now sitting alongside the screen studies.
Read more ↗I launched Screen Studies for my original long-form close readings and case analyses of AI-native drama and short-form video.
Read more ↗agy-plugin-cc and agy-plugin-codex are public at v0.1.0, extending the plugin matrix from OpenCode and Grok to Google's Antigravity CLI (agy). Claude Code and Codex now each have three collaboration paths. Because agy headless has no read-only mode, both plugins make read-only review a filesystem-isolation workflow with a disposable working-tree copy and no repository-path disclosure. The Codex side publishes a measured runtime contract with a probe command behind every behavior claim.
Read more ↗Our paper "Accentedness and comprehensibility in second language Cantonese: An investigation of Mandarin learners’ read speech" has been accepted for publication in Language and Speech. The study combines L2 Cantonese read speech from 40 Mandarin-speaking learners with native-listener ratings and 58 acoustic, sociolinguistic, and auditory-sensitivity predictors. It finds that accentedness and comprehensibility are strongly related but not identical, with shared and distinct predictors across the two judgments.
opencode-plugin-cc and grok-plugin-cc are public at v0.1.1 as ports of the official codex-plugin-cc command surface to the OpenCode and Grok CLIs. The release completes the four collaboration edges: Claude Code to OpenCode, Claude Code to Grok, Codex to OpenCode, and Codex to Grok. In the same batch, grok-plugin-codex 0.2 landed typed MCP contract v2. Dong-skills collaboration skills are aligned with contract v2 and now cover Claude Code, Codex, OpenCode, and Grok.
Read more ↗After the v0.1.0 public release, Evidoc completed its namespace migration and publishing hardening. It can now be installed from npm as the scoped package @evidoc/evidoc. The distribution surface remains the same: CLI, MCP server, GitHub Action, and Local Web UI.
Read more ↗grok-plugin-codex is now public as a Codex plugin for using the local Grok CLI from inside Codex. It exposes MCP tools for bounded runs, review, rescue analysis, adversarial checks, session listing/export, and background job control, with collaboration boundaries separating hidden Codex context from Grok prompts. Dong-skills now documents the matching Codex-Grok collaboration workflow.
Read more ↗Evidoc v0.1.0 is now public as a documentation-drift control tool for agentic repositories. The release completes the DriftGuard -> Evidoc rename, ships package artifacts for the CLI, core, dashboard, GitHub Action, local app, MCP server, reports, and review log, and introduces the bilingual Evidoc Command Center for repository health, triage, repair prompts, and local gates.
Read more ↗D-academic-agent v0.1.0 is out as a local-first desktop workspace for checking academic claims and citations against paper evidence. It supports draft checking, standalone claim review, PDF import, a writing desk, evidence tables, and optional local or online checking providers; the current public package is an Apple Silicon macOS ZIP, while Intel Mac, Windows, and Linux users should run from source for now.
Read more ↗D-viva-assistant-agent v0.1.0 is out as a local-first thesis viva preparation workspace. It imports a thesis, turns it into evidence-aware study cards and examiner-style practice questions, scores answers across multiple dimensions, and collects weak points into a review queue; the current release provides an unsigned Apple Silicon macOS ZIP with a SHA-256 checksum, and AI or speech-to-text integrations stay optional until configured.
Read more ↗Our poster abstract "Pitch vs. Spectral: A Functional Trade-off in Vocal Emotion Signaling between Tonal and Non-tonal Languages" is included in the LabPhon 20 full proceedings, which are now available. The study compares tonal and non-tonal languages in vocal emotion signaling, asking how pitch and spectral cues divide the work when pitch also carries lexical tone.
Read more ↗opencode-plugin-codex is now available as a public Codex plugin for using OpenCode from inside Codex. It exposes MCP tools for second-agent review, troubleshooting, background job control, visible-transcript handoff, prompt-before-file message handling, file attachment guards, and collaboration guidance that separates OpenCode scope from Codex private runtime paths.
Read more ↗I created Dong-skills as a personal repository of agent collaboration skills, now public on GitHub. At launch it collected the Claude-Codex mutual-review workflow and the Codex-OpenCode workflow for capability checks, bounded delegation, handoff, adversarial review, and verification gates.
Read more ↗I reached 3 merged upstream PRs to Memoh: PR #592 surfaces container setup failures in diagnostics, PR #595 refreshes Docker deployment docs, and PR #671 avoids Docker publishing in forks. The work improves diagnostics, deployment reliability, and contributor-safe CI.
Read more ↗I successfully defended my M.Phil. thesis at Hong Kong Shue Yan University: Why Do We Misunderstand Others’ Emotional Speech? A Study of the Link Between Production and Perception of Cantonese Vocal Emotions. Related work is being prepared as journal and conference manuscripts. Updates will follow publication progress.
RelayBar v1.0.0 is published as a public macOS menu-bar utility for managing Codex and Antigravity account pools, remaining quota, local Codex usage, and manual switching. The release includes RelayBar-v1.0.0-macOS.dmg and zip packages.
Read more ↗I published a lightweight Cantonese-Mandarin Cross-Reference learning tool on GitHub Pages. It turns HKEdU correspondence data into a learner-facing lookup path with Jyutping, recorded audio, Chinese-character search, and a mobile-friendly simplified/traditional Chinese interface.
Read more ↗Our paper "Exploring the Contributions of Various Acoustic Features in Cantonese Vocal Emotions" is published by Journal of Speech, Language, and Hearing Research. This is my first first-author article, and the study examines which acoustic cues contribute most to Cantonese vocal-emotion perception and listeners' emotion judgments.
Read more ↗FoCaL-8 has been successfully held. This is my second time serving as a committee member for FoCaL. I thoroughly enjoy interacting and learning with participants at FoCaL!
Read more ↗Our paper "Acoustic Analysis and Perceptual Evaluation of Second Language Cantonese Tones Produced by Advanced Mandarin-Speaking Learners" is published by Applied Sciences. It combines acoustic analysis and listener evaluation to examine how advanced Mandarin-speaking learners produce L2 Cantonese tones, and where production still diverges from native-like tone targets.
Read more ↗Our paper "The effects of language dominance on the L1 and L2 tone production of Mandarin–Cantonese bilinguals" is published by JASA Express Letters. The study asks how language dominance shapes tone production in Mandarin-Cantonese bilinguals, and how a speaker's stronger language can affect both L1 and L2 tonal patterns.
Read more ↗