Senior Data Scientist at the Bank of Thailand, where I build production generative AI and multi-agent systems. Before that I was a lead data scientist and a software engineer. MSc Data Science, University of Glasgow.
Off the clock I write pre-registered, reproducible research papers on central banking, financial risk and AI-agent safety, each shipped with its code, data and an archived DOI, and I build small, focused open-source tools for people who work with LLMs, coding agents and CI.
🏦 Central banking & financial risk
| Project | Paper | Read |
|---|---|---|
| cbtone | Do Local-LLM Tone Scores of Central-Bank Communication Carry Policy Signal? Pre-registered Evidence from Seven Central Banks in Three Languages | Web · PDF · DOI |
| fraud-synth-bench | Classic and Modern Fraud Detectors under Controlled Imbalance, Drift, Ring Fraud and Label Delay: A Reproducible Study on Synthetic Data | Web · PDF · DOI |
🏛️ AI governance & agent security
| Project | Paper | Read |
|---|---|---|
| airmkit | Operationalising the MAS Guidelines on AI Risk Management for LLM and Agentic Systems: A Machine-Checkable Control Catalogue and Pre-registered Empirical Study. Independent project, not affiliated with MAS. | Web · PDF · DOI |
| harnesswatch | The Harness Is the Attack Surface: A Security Analysis of AI Coding-Agent Harnesses (2025–2026) | Web · PDF · DOI |
| rulewarden | rulewarden: Deterministic Runtime Assurance for AI Coding Agents | Web · PDF · DOI |
🚧 In progress
| Project | Study |
|---|---|
| regslm | How Small Can a Regulatory-Obligation Extractor Be? Small on-premises language models that turn public financial rulebooks into structured obligations: scaling, distillation, verifiable-reward RL and quantization. |
| pmbook | Fee design and market quality in prediction markets: a pre-registered study of a staggered taker-fee rollout, rebuilt from public Polygon chain data alone. |
| Project | What it does |
|---|---|
| upfront | See how many tokens your MCP servers, skills and AGENTS.md cost a coding agent up front, and which tools break in which client. |
| tracecost | Recompute what your LLM traces cost, offline, from OTLP, Langfuse or Phoenix exports, with cache and reasoning tokens priced. |
| skills | Agent skills that take an open-source project from a one-page MISSION.md to a shipped public repo. |
| Project | What it does |
|---|---|
| lastgreen | Compare a failing GitHub Actions job with its last green run: runner image, tool versions, new log lines. |
| verdrift | Find every place your repo pins a Node, Python or Go version, and see where they disagree. |
| layerdelta | See why your container image got bigger: compare two images file by file, with a CI size budget. |
| Project | What it does |
|---|---|
| gemini-candlestick | An AI-simulated board meeting of 10 legendary market technicians debating daily S&P 500 charts (Gemini + TA-Lib). |
Python · PyTorch · scikit-learn · Spark · LLM APIs (Claude, Gemini, OpenAI) · RAG & agent frameworks · Docker · Kubernetes · GitHub Actions
LinkedIn · Issues and PRs on any of the repos above are welcome.
Views here are my own and do not represent the Bank of Thailand.