Website ·
Academic CV ·
Industry CV ·
LinkedIn ·
Email
English · 简体中文
I study how digital technology and public policy change tourism and hospitality markets, using causal inference, time-series models and large language models as measurement tools for text. I am on the 2026–27 job market for academic, research, data science and quantitative roles.
- Best Paper Awards at IATE 2026 and CHME 2026
- Papers in revision at Annals of Tourism Research and the Journal of Travel Research
- Open code for the methods I use, each checked on data where the answer is known
applied-stats-econometrics-toolkit |
llm-text-measurement |
ml-inflation-forecasting |
| Project | What it is |
|---|---|
| filings-qa-agent | Question answering over SEC filings with a checkable source for every sentence, a tool-using research agent, and a 50-question retrieval evaluation (keyword search 95% correct). |
| finfluencer-digest | Daily digest of stock calls: Gemini watches 16 YouTube finance channels and X accounts, extracts each call and sums up the consensus. Multi-model fallback, scheduled runs, source-checked news. |
| catfolio fork | Portfolio dashboard fork with broker sync and a tracker that scores stock calls against later prices. Four pull requests upstream. |
| Calorie tracker · live | Offline web app that recognises food from photos with a vision model and calibrates calorie estimates against real weight data. 20 versions in seven weeks. |
Claude Code is my main tool for research and software. The method in outline is on my website, How I work with AI, and the templates are in ai-research-workflow.
| Topic | In short |
|---|---|
| Vibe coding | I write the spec and the checks, an AI agent writes the code, and I test each step before anything goes public. |
| A paper with AI | One working paper taken from question to journal-ready files with AI at every stage; the design and the claims stay mine. |
| Effort levels | Low effort while working out what to do, high effort when checking the result. |
| Project management | A coordinating session, task cards, one task board and a fresh reviewer for every result. |
| Quiet errors | Six mistakes in AI-assisted work that gave no error message, and the checks that now catch them. |
- ClaudeCodeUsage (VS Code extension, TypeScript): #115 cached the dashboard date-label formatter (fixes #99), merged September 2026.
- catfolio (FastAPI portfolio dashboard, Python): #4 HK ticker padding and HKD exchange rates, #5 dead links, #6 broker account sync, #7 call-tracker workspace; opened September 2026.
Counted by the site's own cookie-free counter; updated hourly. Cities, sources and daily visits



