- 🤖 AI full-stack engineer, frontend by background. For the past two years I've worked on AI products for overseas markets: an AI video generation SaaS, AI content tools, and browser extensions.
- 🎬 My main craft is editor engines — a DOM-based 1920×1080 canvas editor, undo/redo, a frame-accurate timeline playback engine, GSAP animation, and Yjs real-time collaboration.
- 🧩 Shipped across mini programs / H5 / desktop web / CRM / SaaS / mobile apps / Chrome extensions / Electron, in education, healthcare, live streaming and IM.
- 🐍 One year of Python; building RAG pipelines and LLM applications with FastAPI, and going deeper into agent orchestration.
- 🌱 I maintain and contribute to open source around canvas interaction and transform tooling — see below.
- daybrush/moveable — I build on
react-moveablein production and have offered to help maintain it: #1156. The work I'd like to bring upstream is persistent groups — group / ungroup as real, serializable entities rather than a runtimetargetsarray (#1133 has been open since 2024) — and recursive group resize dispatched by child type, so text, SVG and cropped media each scale correctly instead of taking one uniform scale (#1020). Currently waiting on the author. - colbymchenry/codegraph#1288 — fixed an OOM that took down the whole code index when an oversized asset file was imported, with a regression test.
- agent-skills — the Claude Code / Codex agent skills I actually use day to day.
- ease-music — open-source local music player for Android and iOS. No built-in sources; it plays only the music you already own.
- xiwen-html2canvas — two extra APIs on top of html2canvas to fix blurry output.
🎬 Leadde · AI video generation SaaS (in the HeyGen / Synthesia space)
Core developer of the web video editor: an in-house DOM canvas editor, undo/redo, the timeline preview playback engine, GSAP animation, and Yjs real-time collaboration.
📝 Lynote · AI content tools
- YouTube Transcript Generator — transcript, translation and AI summary for YouTube
- AI Humanizer & Detector — select-to-rewrite and AI detection
- lynote.ai — Next.js SSR, SSE streaming translation, 10 languages
🖥 Desktop automation client · Electron + Python dual-process, with a licensing service and signed auto-update
📖 Implementation details for each project: full project history
- Shanhe Ji — a 3D sandbox of Chinese history (Next.js · Three.js)
- Claudio — an AI radio station where Claude Code plays DJ (Node.js · TTS)
- AI culture app — LLM + RAG knowledge base (React Native · FastAPI)



