Projects
36 projectsAI Agents & Orchestration
Dispatch
A voice dispatch console for fleets of autonomous coding agents, built on a management-by-exception model: the agents drive the work forward themselves and only call for a human at genuine decision points. Enterprise-grade merge machinery (branch protection, required checks, merge queue, CODEOWNERS) backs five guarantees — trunk always green, scales with concurrency, bounded autonomy, no lost work, design conflicts escalate into decisions. The conflict triage integrator resolves mechanical conflicts automatically and escalates design conflicts to a human; 24/24 integration tests passing.
Tower
The supervision tower for the agent fleet: the planes fly themselves, the tower only issues clearance. Defines the R×A routing model, a spec for agents to advance work autonomously, and a full decision audit trail so every judgment call stays replayable.
Hermes
The server-side executor behind the Dispatch deploy model. Triggering is a poke over SSH, data is pulled from GitHub Releases, semantics are convergent (idempotent), landing is atomic (symlink flip behind a health gate), and every result reports back into the GitHub Deployments ledger.
Claude Cockpit
A local web cockpit that takes over an AI coding CLI: session browsing, Markdown-rendered chat, an embedded real terminal, and SSH remoting. Sessions resume through the stream-json streaming protocol; the service binds to localhost only.
LooperAgent
A multi-step reasoning system built on GLM-4 around a generate–verify–correct loop: the model proposes solution steps, an independent verifier judges them and issues correction hints, iterating to convergence. Full voice interaction via iFLYTEK ASR and ByteDance TTS; a Markov-chain layer extracts emotional state transitions from dialogue history for persona-consistent replies; multi-agent collaboration explored on the OpenAI Swarm framework. A secondary-school project — and the direct ancestor of the later agent work.
Persona Engine
Abstracting characters out of long novels: an LLM reads the corpus incrementally and iteratively refines each character's personality tags; persona memories are embedded (GLM Embedding, 1024-d) into a Zilliz vector store for retrieval-augmented generation; and a Markov-chain/MCMC layer models state transitions over the persona representation to random-walk a character's emotional state. A secondary-school project.
Philosophers' Arena
Five AI agents holding fixed philosophical stances — rationalism, existentialism, idealism, materialism, scepticism — in structured debate. Configurable recursive introspection up to five levels deep, a metacognition layer for self-evaluation, XML-structured output parsing, and per-agent memory of beliefs, experiences and relationships that evolves as the debate runs. A secondary-school project.
Automation & RPA
Mobile GUI Agent
A GUI agent that drives a real Android phone through adb and scrcpy — no private APIs, no injected protocol packets. Slow-scroll capture, a recognise-before-you-tap visual grounding protocol, and a self-healing initialisation that always returns the device to a known anchor screen. Two production lines run on top of it: WeChat Moments archiving and RedNote collection.
WeChat Export
After the mainstream decrypt-the-database tools were pulled offline over compliance in late 2025, I designed the compliant alternative: a native Swift menu-bar app that captures with ScreenCaptureKit, auto-scrolls, de-duplicates and exports structured JSONL / CSV / TXT — never touching the encrypted database, never reading process memory, never phoning home.
RedNote Growth Line
An end-to-end line from collection to finished post: harvest notes on-device, extract and analyse them, then compose drafts across six layout skeletons and six palettes. A numeric-attribution gate blocks the two failures that actually cause damage — a claim pointing the wrong direction, and a number with no source.
Campus Wall
Multi-account Moments publishing for campus community pages: submissions are pooled, laid out and rendered, derived per account so no two posts look identical, then dispatched on a daily batch schedule.
CampusNote Ops
An internal operations workbench for a freshman-facing RedNote account matrix: dashboards filtered by school, account role and daily progress, batch content generation, publishing review, and acquisition metrics in one place.
bili
A Bilibili downloader and creator auto-follow tool (yt-dlp and ffmpeg underneath) with a paste-a-link web UI. Pulling a creator's full catalogue meant going through the most-played tab and intercepting the response as text rather than JSON; the rate limiting is intermittent, so retrying is the strategy.
meshgate
A zero-config self-hosted multi-egress gateway: a small box sitting behind your own home broadband joins a pool of your own exit nodes, so upstream traffic leaves through several genuine residential IPs instead of one. Deliberately scoped to self-use and technology transfer to licensed parties — no crowdsourced networks, no resale.
hkmail
A working mail channel for a university account that refuses ordinary IMAP clients: OAuth2 XOAUTH2 through a Thunderbird client id, ROPC flow and a cached refresh token — send, search and read straight from the command line.
HKUST(GZ) Faculty Directory
A complete profile database of all 435 faculty members at HKUST(GZ), plus a searchable directory and a research-match report across seven directions. 260 of the 435 Scholar profiles were verified by cross-checking official pages against personal sites; Google's rate limiting was beaten by rotating proxy nodes — switching networks did nothing.
Deck Factory
A deck production line that treats slides as rendered web pages: a 17-page HTML template system → headless screenshots → pixel-faithful PPTX assembly, so decks keep hand-tuned editorial typography while staying reproducible and data-driven. The craft was reverse-engineered from a hand-made consulting-grade report, then industrialised; the first production batch shipped complete decks for eight products of a major AI company.
Unattended Newsroom
The dynamic-news section of a software company's corporate site, run as a fully unattended content pipeline: multi-source ingestion → a staged LLM layer (selection, briefing, translation, compliance-term scrubbing) → automatic generation and publication of detail pages and indexes. Zero human touch between source and production, steadily accumulating the site's GEO assets. Built during my AI-trainee stint at Juzi Interactive (Juzibot).
Quant & Finance
Verdict
A full pipeline that answers whether a finance influencer is actually right. A crawler collects around 6,000 posts a day from X and Xueqiu; an LLM extracts falsifiable positions (instrument, condition, horizon); positions settle automatically against market data into a per-author calibration profile. The production database holds 150,000+ raw posts, 33,000+ extracted positions and 3,400+ settled verdicts — enough to surface real effects, such as self-reported confidence running inverse to actual hit rate.
PerpetualQuant
A three-agent research pipeline that runs from academic papers to tradeable strategies with no human in the loop: a hunter sweeps arXiv and Semantic Scholar and ranks the top 10% on six dimensions, an analyst extracts structured factor specifications, and a builder generates strategy code validated in parallel across crypto, A-share and US markets behind an automatic quality gate. Two days of running: 900+ papers processed, 70+ strategies validated, best cross-sectional momentum strategy at Sharpe 2.57 across markets.
freqtrade-stable
An OKX perpetuals trading system built on Freqtrade: 15+ custom strategies (CTA momentum, MA diff, sniper, KAMA, ClucHAnix and others), a FreqAI adaptive machine-learning prediction module, Hyperopt parameter search, complete backtests, and remote management through a Telegram bot.
Research & Evaluation
GEO-Scope
Does a brand exist inside AI-generated answers? GEO-Scope quantifies exactly that: organic mention rate, sentiment score, query-level mindshare, intent slices and four terminal outcomes, delivered as client-facing evaluation reports. Running alongside it is a self-built post-training line — SFT and RFT landed (+9.6% on the key metric), DPO dropped after a controlled experiment falsified it, GRPO code ready and waiting on compute.
Capability Engineering
An attempt to model how AI capability is actually acquired and retained by a person or an organisation, treating it as a resource-metabolism system: a five-stage pipeline, the KPARI metric set, and active hit rate as measures. Related-work map in progress, paper in preparation.
Streaming ASR: change the model, not the wrapper
Architecture selection for the voice front-end of the dispatch console. Compared the AED, LLM-ASR and transducer families and confirmed transducers are natively suited to streaming; training hooks now run on Kyutai's delayed-streams-modeling, with Fun-ASR Chinese capability transfer and DSM-style fine-tuning next. The whole point was to modify the model rather than wrap somebody's API.
Knowledge Engineering Report Library
A running effort to turn fifty years of knowledge-engineering method into something usable: 13 research reports, 56 concrete product extension points, and measured baselines. The acceptance bar is deliberately harsh — a pure literature survey does not count; the test is whether you can change code after reading it.
Multi-Agent Campus Arbitration
Research completed under Prof. Lu Yu, Associate Dean of the Faculty of Artificial Intelligence at Beijing Normal University, during Beijing's reserve-talent programme. A four-role multi-agent framework with chain-of-thought models the negotiation inside a hygiene arbitration; LangChain and ChatGLM-4 with Embedding-3 over Milvus retrieve similar historical cases; a hand-built 317-example dataset LoRA-fine-tunes ChatGLM-4 9B to generate arbitration reports. Deployed for the arbitration group's daily work.
Products & Tools
On-device Live Captioning
Born at a real event: the live captions at a university launch ceremony kept mangling campus vocabulary, so I ported the speech input layer out of Dispatch and built a purpose-made tool over one afternoon and evening. Two-stage rendering keeps the audience waiting on nothing — raw recognition lands on screen in under a second, then an LLM correction grounded in the speaker's uploaded script replaces it in place. The script also drives hotword biasing and a 2-gram progress tracker; an adaptive VAD tracks the noise floor of a real hall. Measured on the university's own vocabulary under hall noise: character error rate 5.8% → 0 once the host's script is loaded. Ships as two double-clickable macOS apps — a control console and a transparent always-on-top caption overlay. Recognition runs entirely on-device (Fun-ASR-Nano on MLX); audio never leaves the machine.
Lode
A knowledge tool built around verifiable attribution. The soul of the product is that every conclusion the AI gives you can point back at the source text it came from — measured extraction coverage, not a claim on a landing page.
Dance Factory
An automated production line for AI dance video: a three-layer pipeline (character assets, video synthesis, post-production) with a web workbench, and a hot-swappable provider layer for image generation. A wallpaper sub-line rides on the same pipeline, deliberately shooting empty scenes to stay clear of portrait-rights problems.
KZJ AI Study Assistant
The first product of the ed-tech company I co-founded (and run as CEO) in my final year of secondary school. An AI study assistant for students in Sino-foreign joint programmes, grounded in their actual courseware — removing the language barrier, threading concepts across lectures, exam-focused practice. Zero to working demo in five days; positive cash flow within two months; distribution grown through campus activities and word of mouth. The team itself runs AI-native: know-how, experiment logs, code and docs are structured as agent context, so the collaboration system iterates on itself.
clipkit
The deterministic track underneath a video-editing SOP. The existing skill is a well-written prompt — it explains how to edit but executes almost nothing. clipkit supplies the missing layer: anything a computer can judge right or wrong is taken away from the model. The first closed loop passed frame-level acceptance 12/12, and the real bottleneck turned out to be the intermediate representation, not the model.
imagen
A local text-to-image station: prompt in, image out, saved to outputs/ automatically. Providers and keys are configured from the web admin instead of in code. Zero dependencies — Python standard library only.
roommate-match
A login-free, shareable, abuse-resistant roommate matching site — and a real project built end to end by voice through Dispatch: one continuous spoken description, background noise, slips and self-corrections included, judged and accumulated into a spec, then shipped.
LooperFlow
An AI-driven English vocabulary platform built on articles worth reading. A collection pipeline builds a structured corpus from serious journalism; an LLM extracts key vocabulary with definitions via XML-structured prompts; spaced repetition (0–5 familiarity scoring with next-review scheduling) pushes up to 20 words a day; an integrated chat assistant handles conversation practice. Flask + SQLAlchemy; a secondary-school project.
Election Lottery
The draw system used live on stage for my high school's student-council elections (27th & 28th terms). Fisher–Yates shuffling for provably fair grouping, round-by-round draws interleaved with live Q&A, and a 229-person ASCII-art reveal in which @/#/= characters resolve into real names at 50 ms intervals on the big screen. Next.js 14 + Framer Motion.
CyberSchedule
A full-featured study-management SPA in a cyberpunk dark theme: calendar scheduling, a pomodoro timer, recurring-task generation, a one-click template library, journaling, Recharts dashboards and an AI assistant with XML-parsed output. Multi-user auth and per-user data namespaces built on localStorage alone; 20+ custom components. Next.js 15 + React 19; a secondary-school project.