I build AI tools for coding, learning, and creative work. My current focus is on coding agents, voice interfaces, and local-first workflows — making useful AI capabilities easier to work with.
I work at the intersection of software engineering and human-computer interaction: turning model capabilities into tools with clear workflows, useful feedback, and room for human judgment.
Website · Email · Explore projects · All repositories
| Currently building | Recent releases | Notes & guides |
|---|---|---|
|
CLI Model Switcher Vibe Coding Voice AI Bili Checker |
CLI Model Switcher v0.4.0 Vibe Coding Voice v0.1.0-alpha.7 Latest published version per project. |
Designing a CLI agent tool Setting up voice models Running AI Bili Checker Fiction revision checklist |
| Ayatori Nexus / CLI Model Switcher | Vibe Coding Voice |
|---|---|
![]() Project demo page |
![]() Windows app preview |
|
For working across several coding agents without rebuilding your setup each time.
|
For speaking through prompts and code changes, especially Chinese and mixed-language dictation.
|
Local Codex activity · Costs are API-equivalent estimates, may exclude unpriced models, and are not subscription charges.
- DOM Native PPTX — convert slide-safe HTML into native, editable PowerPoint objects, with explicit validation and raster policies. Beta. Quick start.
- XS Skill — a Chinese short-fiction writing skill for story planning, revision, and continuity checks. Writing methods.
- XHS AI Content Publisher — turn public sources and supplied notes into source-linked Xiaohongshu and WeChat drafts, with review and visual-card planning.
- AI Comic — a prototype connecting scripts, storyboards, character cards, and comic layouts.
- Fairy DSH for Windows — a Windows adaptation of Fairy DSH, with an isolated runtime, browser tools, and local GPT-SoVITS voice.
- Bilibili–Obsidian Clipper — a fork connecting video subtitles with Markdown and Obsidian; part of my exploration of local knowledge workflows.
- Carbon Clash — a civic strategy game exploring environmental trade-offs, with optional AI integration.
- Clear agent interactions. Make task state, progress, errors, and recovery understandable.
- Repeatable workflows. Turn useful experiments into tools that can be configured, reused, and maintained.
- Local ownership. Keep data portable and make the choice between local and online processing explicit.
- Human control. Give people useful feedback and a way to inspect, edit, or override the result.
- MSc Human-Computer Interaction — Newcastle University
- BSc Computer Science — Heriot-Watt University
I work with Python, TypeScript, React, Node.js, Rust, Tauri, and Shell, across CLI utilities, desktop apps, browser tools, and AI-assisted creative workflows.
For project questions, open an issue in the relevant repository. For a conversation about AI tools, agent UX, or creative workflows, send me an email.


