I'm a full-stack developer in Hanoi.
My day-to-day is mostly TypeScript — NestJS on the backend, React and Next.js up front, with PostgreSQL, Redis, and RabbitMQ wired up behind the scenes. I spend most of my frontend hours in Tailwind and shadcn/ui — they're how I ship interfaces without fighting CSS at 2am.
I care about systems that don't fall over at 3am, code other engineers actually want to read, and the small details that don't show up on a roadmap but make everything feel right when they're there.
You can reach me at [email protected], or find me on LinkedIn and Facebook.
Frontend React · Next.js · TypeScript · Tailwind CSS · shadcn/ui · Ant Design · Umi.js
Backend NestJS · Node.js · GraphQL
Data & messaging PostgreSQL · MySQL · Redis · RabbitMQ
Infrastructure Docker · Nginx · GitHub Actions · Linux
A few things I have opinions about
- shadcn/ui got it right — you own the components, not your dependency tree.
- Tailwind isn't ugly. Your design system probably is.
- Boring tech is underrated. Postgres can do more than most people think.
- Most "scale" problems are really observability problems in disguise.
- If a query is slow, blame the index before you blame the database.
- Sometimes
anyis fine. Don't @ me.
If you're building something with queues, async pipelines, or APIs that need to be careful with other people's data — I'd genuinely love to hear about it. Coffee's on me if you're in Hanoi.


