Skip to content

Ho Chi Minh City, Vietnam

Open to collaboration

Hi, I'm Kiệt Nguyễn

Senior Frontend DeveloperAI-native Developer: AI-assisted development, with guardrails

Focus areas: AI-assisted development with guardrails, order management systems, TypeScript at scale, shared component libraries

I build the web apps that keep e-commerce orders moving.

years building production frontends
6+
shorter release cycle on the Onflow frontends
50%
files migrated to strict TypeScript, zero JavaScript left
1.6k
test files guarding three production codebases
800+

About me

Portrait of Kiệt Nguyễn
Role
Senior Frontend Developer
Based in
Ho Chi Minh City, Vietnam

I'm a senior frontend developer based in Ho Chi Minh City. For more than six years I've built production web apps with React and TypeScript: e-commerce storefronts, GBST's wealth-management software for the UK market and, today, the platform behind Onflow Fulfillment.

At Onflow I'm the primary frontend developer of the OMS that multichannel sellers use to run products, orders, inbound stock and returns across their sales channels. After taking over the codebase I restructured it into feature-based modules, redesigned its UI/UX, migrated it to strict TypeScript and wrote most of its test suite. I also built the Fulfillment Connect console and the shared frontend library from scratch.

I like codebases that explain themselves: typed data layers, rules enforced by lint instead of by memory, and documentation that both people and coding agents can follow. That is what lets me work AI-first: about 80% of the code I ship starts with an AI coding agent, and I plan, review and own all of it. When a feature needs it, I'm comfortable on the backend too, with NestJS, Strapi and SQL.

How I work with AI

AI-assisted development, with guardrails

Most of my code now starts with an AI agent. What makes it safe to ship is everything around the agent: a written spec, rules it cannot skip, and a human who reads every diff.

of my code is drafted by AI
≈80%
of diffs reviewed by me
100%
repositories with agent guides
3
  1. Spec first

    I write down what to build and how it will be checked before the agent writes a line.

  2. Rules and skills

    Each repository carries an agent guide, lint rules and reusable skills, so the agent works the way the team does.

  3. The agent drafts

    The agent writes the code and its tests in small steps. Subagents search, review and verify, each on a model sized for the task, which saves tokens.

  4. I review, CI decides

    I read every diff and own the result. Nothing merges until types, lint and tests pass.

Agent toolkit

  • Claude Code
  • Agent Skills
  • Subagents
  • Hooks
  • AGENTS.md / CLAUDE.md
  • Model routing
  • Token optimization
  • MCP

What keeps it under control

  • Strict TypeScript, no JavaScript left
  • Architecture rules checked by lint in CI
  • Tests run on every pull request: 800+ files across three codebases
  • Agent guides and skills in the repository
  • A human reads every diff before it merges
  1. Types before features

    Strict TypeScript end to end. I moved a large app off JavaScript and typed its data layer one domain at a time.

  2. Rules as code

    Import direction, query keys, i18n and permissions are checked by lint scripts in CI, not by a reviewer who has to remember them.

  3. Tests next to the code

    Vitest and Testing Library live beside each module, so a refactor shows what it broke within minutes.

  4. Docs for people and agents

    One accurate guide per repository, so a new teammate and an AI agent follow the same rules.

Skills

Core

  • React6 yrs
  • TypeScript6 yrs
  • JavaScript6 yrs
  • HTML6 yrs
  • CSS / Sass6 yrs

Frameworks & state

  • Next.js3 yrs
  • TanStack Query3 yrs
  • React Hook Form2 yrs
  • React Router3 yrs
  • Zustand
  • Ember.js

UI & styling

  • Bootstrap / reactstrap3 yrs
  • Material UI
  • Recharts2 yrs
  • react-i18next2 yrs

Testing & tooling

  • Vitest2 yrs
  • Jest
  • React Testing Library3 yrs
  • Vite2 yrs
  • ESLint3 yrs
  • GitHub Actions2 yrs
  • Google Apps Script

Backend & data

  • Node.js (NestJS, Express)
  • Strapi
  • REST6 yrs
  • GraphQL
  • PostgreSQL / MySQL
  • MongoDB
  • Docker2 yrs

AI & agents

  • Claude Code
  • Agent Skills
  • Subagents
  • Hooks
  • AGENTS.md / CLAUDE.md
  • Model routing
  • Token optimization
  • MCP

Currently exploring

  • Claude Certified Architect
  • Prompt caching
  • React 19
  • Tailwind CSS 4
  • React Three Fiber
  • Turborepo

Experience

  1. Senior Frontend Developer

    Onflow Fulfillment

    E-commerce fulfillment service built on its own technology platform: OMS, WMS, TMS and Fulfillment Connect.

    • React
    • TypeScript
    • Vite
    • TanStack Query
    • Vitest
    • Sentry
  2. Full-stack Developer

    Freelance

    Company website for Diamond Owl Solution, an IT services firm.

    • Next.js
    • TypeScript
    • Strapi
    • GraphQL
    • Docker
  3. Frontend Developer

    TMA Solutions × GBST

    GBST builds wealth-management software for investment platforms and pension providers. Contributed to two of its products: Composer and Catalyst.

    • React
    • Ember.js
    • Jest
    • Formik
    • Jenkins
  4. Frontend Developer

    PAVN

    Online marketplace for buying and selling digital services.

    • Next.js
    • TypeScript
    • React Query
    • Material UI
  5. Frontend Developer Intern

    Just Enough

    Bakery e-commerce app with online payment.

    • Next.js
    • TypeScript
    • Theme UI
    • Strapi
    • MongoDB

Education and recognition

  • 2015 – 2020B.Sc. in Computer ScienceUniversity of Information Technology (UIT), VNU-HCM
  • 2023Recognition for high performance and teamworkTMA Solutions
  • 2022Recognition for delivering a release ahead of scheduleGBST

Projects

Onflow OMS

Role: Primary frontend developer

Multichannel order management: orders from marketplaces, websites and social channels on one screen, inventory in sync, and every order handed to the fulfillment warehouse. Frontend restructured into seven feature-based modules, with a redesigned UI/UX, a typed data layer and lint-enforced import rules.

release cycle
−50%
faster deploys
>50%
TypeScript files, no JavaScript
2.1k
  • React
  • TypeScript
  • TanStack Query
  • React Hook Form
  • Vitest

Onflow Fulfillment Connect

Role: Built from scratch

Fulfillment Connect lets a business keep the OMS or ERP it already runs and plug Onflow fulfillment into it. This is its console: create and track shipments, handle returns, run inbound orders, watch inventory and pull reports. Released behind feature flags.

feature modules
9
weeks to production
7
test files
197
  • React
  • TypeScript
  • Zustand
  • TanStack Query
  • Unleash

Onflow Shared Packages

Role: Author and maintainer

The frontend library shared across the company: components, hooks and runtime published as three private npm packages. UI, core (API client, session, analytics, feature flags) and config (ESLint, Prettier, TypeScript presets, git hooks).

published packages
3
apps built on them
2
test files
173
  • React
  • TypeScript
  • Sass
  • ESLint
  • GitHub Packages

Company work, private source

More work

  • Onflow Operations System (OPS)

    Where the other Onflow products are configured. Built its inbound, outbound, courier and report screens.

    Technologies used: React · TypeScript · Redux Toolkit · TanStack Query

  • Warehouse Inbound Booking

    Web form for booking warehouse inbound slots: it reads the order from the OMS, checks every time slot against capacity in Google Sheets and spills over into the next slots.

    Technologies used: Google Apps Script · Google Sheets · JavaScript

  • Taiga Sync for Google Sheets

    Google Sheets menu for product owners: syncs epics and issues from Taiga, tracks user-story progress, creates items in bulk from rows and closes an epic when its stories are done.

    Technologies used: Google Apps Script · Taiga API · Google Sheets

  • Diamond Owl Solution Website

    Company website for an IT services firm, with a Strapi CMS and a GraphQL content API.

    Technologies used: Next.js · Strapi · GraphQL · Docker

  • GBST Composer (opens in a new tab)

    Wealth administration platform for investment platforms, pension providers and insurers. Built frontend features in React.

    Technologies used: React · Jest

  • GBST Catalyst (opens in a new tab)

    Digital wealth portal where investors and advisers onboard, transact and self-serve online. New React features next to the Ember.js app.

    Technologies used: React · Ember.js · Jest

  • PAVN Marketplace

    Server-rendered marketplace for buying and selling online services.

    Technologies used: Next.js · React Query · Material UI

  • Bakery Online Store (opens in a new tab)

    E-commerce app for a bakery: browse, cart, checkout and online payment.

    Technologies used: Next.js · Theme UI · Strapi · MongoDB

Writing and talks

  • Article

    Write the rules once, and four AI agents follow them

    How I set up a frontend repository so that Claude Code, Codex, Gemini CLI and Copilot all read one source of rules: AGENTS.md at the root, skills loaded on demand, three subagents with a model sized to each job, a hook that carries work across sessions, and a linter for the agent configuration itself.

    On this site · 8 min

  • Article

    Moving 1,600+ JavaScript files to strict TypeScript in 10 days

    How a production order management frontend went from JavaScript to strict TypeScript in ten days: ten months of structure first, small batches, AI agents with guardrails, and the real bugs that typing the data layer uncovered.

    On this site · 5 min

Summarized from what my tech lead and teammates have told me.

Responsible and persistent: takes ownership of the work, digs into unfamiliar problems until they are understood, adapts quickly to a new environment and is ready to put in extra time when the project needs it.

Tech LeadOnflow Fulfillment

Enthusiastic, friendly and easy to work with. Settles into a new team quickly and is always willing to help when a colleague needs a hand.

TeammatesOnflow and previous companies

Contact

Open to collaboration

Have a product to build or a codebase to untangle? I'd love to hear about it.

Good fit
Frontend and full-stack product work
Work mode
Remote, or on site in Ho Chi Minh City
Reply time
Usually within a day