AI product engineer at Apero, in Ha Noi. I build products end to end — Python and TypeScript services, Next.js interfaces, Tauri desktop apps — and spend most of my attention on the seams between them.
Media AI products. Speech and video pipelines — transcription, captioning, and the desktop apps that put them in front of people. Most of this lives in private repositories; Lingo is the part that ships publicly.
Release engineering. Lingo goes to macOS and Windows from a single codebase, with signed Tauri auto-updates and a vendored FFmpeg mirror — so a release never depends on a third party's personal server staying online.
Agent systems. Multi-agent setups that carry long-running work to completion without a person approving every step.
ainovel-cli — a fork of voocel/ainovel-cli. Upstream built the multi-agent novel-generation engine, and the credit for the engine and its architecture is theirs. What I added:
- A complete Vietnamese localisation — 1,821 catalog entries covering 2,028 call sites. The msgid is the original source string rather than an abstract key, so when upstream edits a sentence the lookup fails visibly instead of quietly serving a stale translation.
- A web studio — a Next.js interface, statically exported and served by the Go binary, for running and steering the engine: a management screen, shared settings, and a per-production workshop.
Python · TypeScript · Go · Next.js · NestJS · Tauri · Docker
Repositories here go back to 2018 and include university coursework and scratch experiments. They stay public as history, not as samples of current work.





