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

2026-

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, has since shut down.

2026-

Open source, Testing infrastructure

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

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%.

2022-25

Employment Hero, HR and payroll platform

The question stops being whether something can be built and becomes what happens when every company configures it differently. I built the digital onboarding checklist, which moved new organization setup off a CX walkthrough so one CX person covers several onboardings at once, and spent a lot of time on the parts nobody asks to see: UI standardization, build tooling, CI and test reliability.

2020-22

Outsourcing, FPT Software, Designveloper, Trixgo, Favie Tech

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

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.50 s
LCP
0
CLS
117.0 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
94 · 100 · 100 · 100