About Me
With over 14 years of experience as a full-stack developer, I've had the opportunity to spearhead project teams at tech startups in Vietnam, Thailand, Japan, and Singapore. Additionally, I have worked as a freelance engineer for various companies based in Asia Pacific, Europe, and North America.
Currently, I serve as a Senior Full Stack Software Engineer at ACX, where I focus on developing blockchain-based carbon exchange platforms and innovative solutions using TypeScript, Node.js, and React.
Featured Projects
Open source projects and tools I've created
zed-101-setup
Your ultimate guide to setting up Zed with Vim mode, tailored settings, and key bindings for a seamless coding experience
next-swagger-doc
This package reads your JSDoc-annotated source code on NextJS API route and generates an OpenAPI (Swagger) specification.
typescript-tips
A curated list of awesome 🔥 TypeScript Tips 🔥
dapp-starter
Opinionated Dapp Starter Template provides a solid foundation for building Ethereum-based applications. It incorporates various tools and frameworks such as React, Next.js, Hardhat, TypeChain, web3-react, daisyUI Tailwind CSS Components, and OpenZeppelin.
next-app-starter
Another awesome starter for your app base on nextjs + tailwind + react-query + zod + react-hook-form + next-auth + jotai
hurl.nvim
Hurl.nvim is a Neovim plugin designed to run HTTP requests directly from `.hurl` files. Elevate your API development workflow by executing and viewing responses without leaving your editor.
VS Code Extensions
Tools I've built to improve developer experience
vscode-hurl-runner
Hurl Runner is a VS Code extension designed to run HTTP requests directly from `.hurl` files.
vscode-like-pro
Make your VSCode Awesome! Minimalist, Productive, and Performance.
vscode-settings-cycler
VSCode Settings Cycler
vscode-seal-code
Smart Code Review with AI-Powered Insights
vscode-mux
Open VS Code terminals inside tmux or zellij
vs-code-preset
Easy to quickly enable/disable VS Code extensions base on your preset
Neovim Plugins
Lua plugins to supercharge your Neovim workflow
lazy-nvim-ide
My 💤 LazyVim IDE config for Neovim
tiny-nvim
Slim Neovim config for 0.11+ with minimal plugins.
ts-inlay-hints
A guide on how to utilize TypeScript inlay hints in VS Code / Neovim with the TypeScript Language Server
my-nvim-ide
My personal neovim configuration.
typecheck.nvim
A Neovim plugin for seamless TypeScript type checking.
nvim-for-webdev
Starter Template for Web Developers
quick-code-runner.nvim
A simple and efficient code runner for Neovim.
spinner.nvim
spinner.nvim is a single file, no-dependency plugin for Neovim
learn-vim-with-vscode
This project aims to guide you through setting up and learning Vim within Visual Studio Code using the VSCodeVim and VSCode-Neovim extensions.
Latest Videos
Loading...
Loading videos...
Loading videos...
Loading videos...
Loading videos...
Loading videos...
Loading videos...
Latest Blog Posts
Fresh from ITMan's Blog

Keep Your Global Dev Tools Fresh
One habit that quietly saves me hours every month: regularly updating global developer tools. Here’s my simple routine. Go: Update Installed Binaries go install github.com/Gelio/go-global-update@latest go-global-update This re-installs Go tools at t...
Feb 3, 2026

Power-Up #3: OpenCode — Composable AI Agents for Real Coding Workflows
After experimenting with Amp and Plannotator, I’ve been spending more time with OpenCode, and it’s quickly becoming one of the most thoughtfully designed AI coding agents I’ve used. This post focuses on why OpenCode feels different, and when you migh...
Jan 22, 2026

Power-Up #2: Plannotator — Visual Plan Review for Coding Agents
In the first entry of this series, I discussed Amp: an opinionated AI that integrates naturally into real developer workflows. This time, I want to highlight a tool that solves a specific but painful problem when working with AI coding agents: review...
Jan 6, 2026

Power-Up #1: Amp — Opinionated AI That Fits Real Developer Workflows
In this entry of my AI DX/Tools series, I want to discuss Amp: an AI coding agent designed for developers who spend most of their time in the terminal and editor, rather than in chat windows. Amp is free to try, works locally, and integrates directl...
Jan 5, 2026

Reflections on 2025: Key Learnings and What's Ahead
As 2025 comes to a close, I want to take a moment to reflect on what I learned, how I’ve grown, and where I’m headed next. This year was one of transformation. I dove deeper into productivity and ergonomics, exploring alternative keyboard layouts. I ...
Dec 31, 2025

4 Levels of AI Assistant Customization with Claude Code
Tired of re-explaining project standards or copy-pasting documentation links to your AI coding assistant? I’ve been exploring Claude Code’s customization layers, and they offer a powerful progression from simple prompts to a fully automated developme...
Dec 23, 2025