Le Duy Khanh
Frontend / Fullstack Engineer · Ho Chi Minh CityAvailable for full-time work

Editors, canvases andinterfaces that stay fastwhen the work gets heavy.

Working full-time at VFA since 2022 and freelancing for AnymateMe, an independent startup, since 2024. I build full-stack products with React, Vue, Next, Nuxt, NestJS and Java — including a Konva.js canvas editor that has to feel instant.

ReactNext.jsVueNuxtTypeScriptKonva.jsCanvas 2DNode.jsNestJSPythonGraphQLTailwindReduxApollo
01
About

I like the part of the job where something ambiguous turns into a working interface.

I studied software engineering at Hutech and went straight into frontend work at VFA in 2022. Since 2024, I have also freelanced for AnymateMe, an independent startup where the canvas work makes the job most literal — a blank surface, a set of constraints, and many small decisions before it feels right.

Away from the editor I play video games, watch films, and spend time with my family. Lately I have been working through AWS services, mostly out of curiosity about what happens on the other side of the API I have been calling for four years.

NowAug 2026
Working full-time at VFA
Learning AWS services
Open to frontend & fullstack roles
Freelancing for AnymateMe since 2024
02
Work

Selected work

AnymateMe is independent freelance startup work; the other four products were delivered at VFA. What follows is what I built and what made each one hard.

01

AnymateMe

Presentation-to-video editor

A full-stack Canva-style editor: React and Konva.js on the frontend, NestJS and Directus behind it, with Java/Aspose.Slides and ProseMirror supporting the PPTX-to-editor pipeline.

RoleFreelance Fullstack Developer
StackReact · Konva.js · TypeScript
NestJS · Directus · ProseMirror
Java · Aspose.Slides
anymateme — scene_01
snap 8
Slides in. Video out.
scene_01 · 3 objects · snap 8
01 slide02 narration03 export

Live demo — a miniature of the real editor. Drag with smart alignment guides, double-click text to rewrite it, add or delete objects, then press play to preview the scene the way the export pipeline renders it.

The hard part

The hard part was keeping slide geometry and editor state coherent across React/Konva, NestJS/Directus, Java/Aspose.Slides and the ProseMirror editing flow — while staying responsive with hundreds of objects on screen.

Customize this scene in the Editor Lab
02

Vietop

Online English learning platform

A learning platform for students and teachers. I owned most of the frontend: course surfaces, lesson flows and the shared component layer.

The hard part

Rendering and routing had to hold up across a wide catalogue of content types. Working across both Next.js and NestJS meant the contract between them was mine to keep coherent.

RoleFrontend Developer at VFA
StackNext.js · NestJS
TypeScript
lesson_03 · quick check01/04

She ___ in Ho Chi Minh City for five years.

03

ConnectJP

Partner engagement — twelve product surfaces

Twelve surfaces delivered for a Japanese financial partner — seven public flows sharing one Vue codebase plus five standalone apps, NestJS behind all of them, each with its own domain and its own deadline.

The hard part

Different products, short cycles, one set of conventions holding them together. The value was a shared way of structuring components so each new surface could start from something already proven rather than a blank file.

Open the browser-to-phone demo
RoleFrontend & Backend at VFA
StackVue.js · NestJS
Surfaces
publicservice — seven flows, one codebase
StopAccount01

Guided account-closure flow.

ChangeBank02

Switching the linked payout bank.

AccountStatus03

Account state overview in a webview.

AddressUpdate04

Name & address change with heavy form validation.

SP Point05

Exchanging loyalty points for stock.

Tsumitate06

Recurring investment setup.

Inviter07

Referral flow.

standalone apps
RoboAdvisor08

Onboarding, orders, reports — later split into its own app.

IDModel09

Multi-currency time deposits, plus an admin dashboard.

K_ID10

Identity federation between two securities accounts.

Creka11

Card-point investing, Vue front and NestJS GraphQL back.

Tsumitate Admin12

Workplace-savings portal with OTP and dual roles.

04

OHS

Health monitoring WebView

A React.js WebView for health-tracking software, connected to OHS measurement devices so users can follow their health data in one place.

The hard part

The interface had to keep the health-monitoring flow simple inside a WebView while handling the data connection with OHS measurement devices reliably.

RoleFrontend Developer at VFA
StackReact.js
WebView · OHS device integration
SurfaceMobile WebView
IntegrationOHS measurement devices
FocusHealth data sync
05

Mitla

Maternal health WebView

A Vue.js WebView for an Indonesian government app that helps expectant mothers follow their health and care journey.

The hard part

The app had to make maternal-health tracking clear and dependable inside a public-sector WebView, with flows designed for expectant mothers.

RoleFrontend Developer at VFA
StackVue.js
WebView · Public health
SurfaceGovernment WebView
AudienceExpectant mothers
FocusMaternal care
03
Expertise

What I actually do

Grouped by how much of my working time it takes, not by how many logos I can list.

Frontend Engineering

React · Next.js · Vue · Nuxt
TypeScript · JavaScript · Modern CSS
Core — daily

Interactive & Canvas

Konva.js · Canvas 2D
Animation · interaction state
Specialism

Backend

Node.js · NestJS · GraphQL
Working knowledge

SQL / RDS

SQL / RDS
Working knowledge

AWS

AWS fundamentals
learning

Automation & Tooling

Python · Git
Working knowledge

AI-assisted Engineering

OpenAI Codex · Claude Code
Part of the workflow
Also: Tailwind · Redux · Apollo · HTML · CSS
04
Experience

Where I have been

2022 — Present

Frontend / Fullstack Developer

VFA · Full-time · Ho Chi Minh City
2022 — Present

Joined VFA as a frontend developer straight out of university and grew into backend and full-stack work across Vietop and products for international partners.

2024 — Present

Freelance Fullstack Developer

AnymateMe · Independent startup · Remote
2024 — Present

Concurrently build AnymateMe's presentation-to-video product across its React/Konva.js editor, NestJS services and Java/Aspose.Slides conversion pipeline.

2018 — 2022

B.Eng, Software Engineering

Hutech University · Ho Chi Minh City
2018 — 2022

Four years studying software engineering. Found frontend work immediately after graduating.

05
Approach

How I work

01

Design and build are one pass

I do not wait for a perfect spec. Layout, states and motion get decided in the browser, where they are actually true.

02

Performance is part of the design

On canvas work especially: measure first, then fix the thing that is actually costing frames — not the thing that looks expensive.

03

Code the next person can read

Component boundaries that match how the product is talked about, not how the file tree happened to grow.

04

AI-assisted, not AI-decided

I use Codex and Claude Code to move faster through prototyping, implementation and debugging. Everything they produce gets read and reviewed like any other code.

06
Contact

Looking for a full-time frontend or fullstack role.

If you are hiring, or you just want to talk about canvas rendering, my inbox is open.

leduykhanh.ldk2109@gmail.com