Open to senior frontend roles & freelance projects

I build fast, data-heavy web apps that people use all day.

I'm Tri Nguyen, a Senior Frontend Engineer with 10+ years of experience. I lead small teams and ship React / Next.js products — from an Amazon Ads management platform to e-commerce back-office suites and a national bank's website.

See my work

01 About

I'm a detail-oriented frontend engineer who cares about three things: accessible, responsive interfaces, performance you can measure, and code the next developer can change safely.

My recent work is on large, table-heavy operations software — thousands of rows, dozens of columns, strict permissions, and users who live in the product. That has taught me to measure before guessing: profile the real page, find the one component re-rendering fifty rows, and fix it at the layer that owns it.

Before that I led delivery for agency and product teams in Singapore and Vietnam — including a new website for one of Vietnam's largest banks — running Agile sprints, reviewing code and mentoring developers.

02 Skills

Frontend core

  • React 18/19
  • Next.js (Pages & App Router)
  • TypeScript
  • Remix
  • Vue / Nuxt
  • Angular
  • HTML5 / CSS3

UI & design systems

  • MUI 5–7
  • Tailwind CSS
  • Headless UI
  • Storybook
  • Atomic design
  • Design tokens
  • Figma → code
  • WCAG basics

Data & state

  • TanStack Query
  • Zustand
  • Redux → hooks
  • React Hook Form
  • Zod / Yup
  • Formik
  • REST integration

Data-heavy UI

  • material-react-table
  • TanStack Table
  • Virtualized lists
  • Infinite loading
  • Excel import/export
  • Charts (Recharts, Chart.js)
  • Skeleton loading

Performance

  • Render profiling
  • Memoisation strategy
  • Bundle splitting
  • Lazy tabs & preloading
  • Core Web Vitals
  • Import-cycle debugging

Auth, security & architecture

  • Keycloak / OIDC
  • Role-based access
  • BFF auth migration
  • Modular architecture
  • URL-as-state
  • Micro-frontend shared libs

Backend & cloud (working knowledge)

  • Go (Gin) APIs
  • NestJS
  • Node / Express
  • PostgreSQL
  • Redis
  • Kafka
  • AWS
  • Strapi CMS

Quality & tooling

  • ESLint / Prettier
  • Husky + commitlint
  • Conventional Commits
  • Playwright / browser QA
  • Spec & test-case writing
  • GitLab CI
  • Docker

Leadership

  • Agile Scrum
  • Kanban / Gantt
  • Asana · Trello · GitLab
  • Code review
  • Estimation
  • Mentoring
  • Technical writing

03 Selected projects

Production systems I've built or taken a major part in. Internal tools are described by what they do and the engineering behind them — client data and URLs are omitted.

Flagship · E-commerce platform

Ads Management Platform ads-web

A web console for managing Amazon advertising — Sponsored Products, Brands and Display — across many seller accounts: campaigns, ad groups, targeting, bidding rules, budgets, history and reports.

  • Led a v2 redesign with a modular + atomic architecture and an in-house design-system package (Storybook-documented), so shared visuals change once instead of per screen.
  • Upgraded the stack in phases — Next 12 / React 17 / MUI 5 → Next 15 / React 19 / MUI 7; replaced Redux with hooks, moment with dayjs, and removed ~24,000 lines of verified dead code.
  • Fixed a table render bottleneck: ticking one row re-rendered 50×28 cells (4–8 s in dev). A selection store plus transition-based updates brought the checkbox response to ~50–180 ms.
  • URL-as-state navigation: a typed page → tab → sub-tab → modal tree so every view is linkable, Back-button-safe and refresh-safe.
  • Skeleton loaders that match real row heights (no layout shift), lazy-loaded tabs with idle preloading, per-tab listing state.
  • Wrote the functional spec, technical spec, API spec and test cases for the product, kept in sync with the code.
  • Next.js 15
  • React 19
  • TypeScript
  • MUI 7
  • material-react-table
  • TanStack Query
  • Zustand
  • Keycloak
  • Storybook
Backend collaboration

Ads API Service ads-api

The Go service behind the ads console: REST endpoints, Redis caching, Kafka consumers and scheduled jobs for auto-bidding, budget calculation and campaign alerts.

  • Worked against its Swagger-documented contract to design DTOs and mappers on the frontend.
  • Read and reasoned about its Gin handlers, use-cases and caches to align payloads, pagination, sorting and filter behaviour with the UI.
  • Go
  • Gin
  • PostgreSQL
  • Redis
  • Kafka
  • Swagger
  • Prometheus
E-commerce platform

Promotion & Coupon Manager promotion-web

Back-office app to create deals, coupons and bulk promotions, track their history and logs, and manage who can do what.

  • Next.js App Router app with Keycloak sign-in and role-based pages.
  • Large tables with virtualization and infinite loading; Excel import/export with styled sheets.
  • Refactored the History feature into a clean module and documented it with a changelog.
  • Next.js 14
  • MUI 6
  • React Hook Form + Zod
  • Zustand
  • react-window
E-commerce platform

Master Data Management master-data-web

Single source of truth for product codes, product prices, rate cards, warehouse CBM and product classification, with role-based access control.

  • Product-code listing and pricing screens built on configurable filter/column tables.
  • Shared UI consumed from a common component library across the portal's modules.
  • Developer-experience guardrails: Husky, commitlint, ESLint flat config, written onboarding docs.
  • Next.js 14
  • MUI 7
  • TanStack Query
  • Zod
  • Keycloak
E-commerce platform

Product Catalog catalog-web

Catalog operations for ASINs and part numbers: requests and approvals, bulk list-price updates, spreadsheet generation and recommendation views.

  • Request-management workflow with history, detail views and bulk operations.
  • Rich media: video player with overlays and seek controls, image galleries with Swiper.
  • Live updates via server-sent events; sanitised rich content with DOMPurify.
  • Next.js 14
  • MUI 7
  • Video.js
  • Swiper
  • SSE
  • Zustand
E-commerce platform

Company Portal portal-web

The portal shell that ties the internal tools together: single sign-on, user management, profiles, promotions and upload history.

  • Central user-management and permission screens used by every module.
  • Dashboards with Chart.js, animated transitions with Framer Motion.
  • Turborepo-ready structure and a shared component package.
  • Next.js 14
  • MUI 6
  • Chart.js
  • Framer Motion
  • Turborepo
Leader · Frontend Engineer · 2023–2024

Multi-tenant real-estate sites https://findcondo.sg/

A platform that generates a branded website per real-estate agency, each with its own UI template, on a server-side rendered stack.

  • Led the team as Project Leader and frontend developer.
  • Remix for the client sites, Next.js admin dashboard, Puck Editor for drag-and-drop landing pages.
  • Remix
  • Next.js
  • Puck Editor
  • Tailwind
  • NestJS + AWS
Leader · Frontend Engineer · 2023–2024

Water-tank management system https://www.pub.gov.sg/

Monitor water tanks, assign repair tasks to staff and report statistics, with a staff mobile app.

  • Project Leader and frontend developer for the Next.js admin dashboard; Flutter app for iOS and Android.
  • Next.js
  • Flutter
  • Tailwind
  • NestJS + AWS
Leader · Frontend Engineer · 2022–2023

Figma file manager Whitespace

An app for managing designers' Figma files, building reporting plans and sending reminders by Slack or email.

  • Integrated the Figma REST and Plugin APIs and the Slack API; Project Leader and frontend developer.
  • React
  • Tailwind
  • Figma API
  • Slack API
  • NestJS + AWS
Leader · Frontend Engineer · 2020–2022

Techcombank website revamp https://techcombank.com/

A completely new public website for one of Vietnam's largest banks, with content managed by a headless CMS.

  • Project Leader and frontend developer; Next.js client site with Strapi as the admin back-office.
  • Next.js
  • Tailwind
  • Strapi
Leader · Frontend Engineer · 2019–2020

PropertyGuru campaign pages https://www.propertyguru.com.sg/

Custom headless CMS and campaign pages for a leading property portal in Southeast Asia.

  • Project Leader and frontend developer; Nuxt (Vue) front end on an Express.js CMS.
  • Nuxt
  • Vue
  • Express.js
Frontend Engineer

Sentosa https://www.sentosa.com.sg/

Official website of Sentosa, Singapore's island resort destination: attractions, deals, shop and membership.

  • Frontend developer on the customer-facing website.
  • Built responsive pages and reusable components for the attraction, deal, shop and membership journeys.
  • Worked on accessibility, performance and cross-browser behaviour for a high-traffic tourism audience.
  • React
  • Next.js
  • TypeScript
  • Tailwind

04 Experience

  1. Senior Frontend Engineer E-commerce & advertising platform

    Ads console, promotion, master-data, catalog and portal web apps. Design system, performance, architecture and documentation. See projects.

  2. Project Leader · Frontend Developer MLPERT Co., Ltd

    Led two products for Singapore clients: multi-tenant real-estate sites (Remix, Next.js, Puck) and a water-tank management platform (Next.js, Flutter). Ran sprints in Asana, owned delivery and code review.

  3. Project Leader · Frontend Developer TECHVSI Co., Ltd

    Techcombank website revamp (Next.js, Strapi), Whitespace Figma manager (React, Figma & Slack APIs), PropertyGuru campaign pages (Nuxt, Express).

  4. Senior Frontend Web Developer TMA Solutions

    Hotel-booking management site for a German railway company (Angular 8, .NET, SQL Server) and the icareonline.com monitoring platform for digital carephones (ES6, ASP.NET MVC, Web API, Redis).

  5. B.Sc. Software Engineering Can Tho University

    Full software lifecycle: requirements, design, coding, testing and maintenance.

05 Beyond the code

Good software comes from good teams. These are the people and moments behind my work: retreats, year-end parties, shared dinners and badminton on the court.

Let's build something good.

I'm available for senior frontend roles, project-leader positions and freelance work. Tell me what you're building.