About

I started in outsourcing. It teaches you to ship inside someone else's constraints, on someone else's deadline. What it does not teach you is what happens to software after you hand it over. For that I needed to stay somewhere long enough to live with my own decisions.

Experience

2020-22

Outsourcing, FPT Software, Designveloper, Trixgo, Favie Tech

Full stack applications in React, Angular, Node, and NestJS on AWS, while finishing a B.Eng in information technology at HUTECH.

2022-25

Employment Hero, HR and payroll platform, 300,000+ businesses, 2.5M+ employees

The question stops being whether something can be built and becomes what happens when 300,000 companies each configure it differently. I built the digital onboarding checklist, which cut organization setup time in half, and spent a lot of time on the parts nobody asks to see: UI standardization, build tooling, CI and test reliability.

2025-26

GEN, AI video platform

I designed and shipped Vidsheets, a spreadsheet interface for video generation where editing a cell recalculates everything downstream of it, and led the performance program that cut the main bundle by 37% and the Vidsheets chunk by 77%.

Now

Aepsy, Swiss digital mental health platform

I build healthcare flows across web, iOS, and Android.

2026-

Giáo Án AI, Solo product

Compliant lesson plans for Vietnamese primary school teachers. ASO Expert, which tracked iOS keyword rankings across 56 countries, has since shut down.

2026-

Open source, Testing infrastructure

Tools that prove software works before agents and users touch it.

Owning the pricing page and the support inbox changes how you write software: you stop shipping things you would not want to explain to a teacher late at night.

That is also why my open source work is testing infrastructure. mcp-cassette records a real MCP session once and replays it forever, so the tools an agent depends on are proven before the agent touches them. AuthStunt does the same for authentication.

Software is increasingly operated by things that cannot tell you what broke, which makes proving it works beforehand the whole job.

I use AI tooling every day, Claude Code most of all. It has not lowered my quality bar, it has removed my excuse for a low one. Generated code passes the same gates as anything else here: types, tests, budgets, a review. This site publishes its own measured numbers for the same reason.

Download CV

Colophon

2.55 s
LCP
0
CLS
115.9 KB brotli
Initial JS

LCP, CLS and the Lighthouse scores are the home page, median of three CI runs against a production build on a throttled mobile profile. Initial JS is the brotli size of the scripts the heaviest route loads.

Stack
Next.js 16, React 19, TypeScript
Type
Switzer, Instrument Serif, Geist Mono
Motion
GSAP, ScrollTrigger, Lenis
Hosting
Vercel
Lighthouse
96 · 100 · 100 · 100