Hi, I'm Phong 👋
Software Engineer building SaaS and AI-powered products with TypeScript, Node.js, React/Next.js and Ruby on Rails. Currently at NUS Technology in HCMC, Vietnam 🇻🇳, shipping for clients in the US, Singapore and the UK — and always open to new opportunities.
DV

About

I'm a Software Engineer based in Ho Chi Minh City, Vietnam 🇻🇳, currently at NUS Technology, where I build SaaS products for clients in the US, Singapore and the UK. Over the past few years I've shipped multiple products across EdTech, HR, Creator Economy, Marketing AI, Analytics and Impact Measurement — owning features end-to-end, from initial architecture through production deployment and operations.

Most of my work lives in the TypeScript/Node.js ecosystem — React, Next.js, Express, Fastify, tRPC, Prisma, PostgreSQL, MongoDB and Redis/BullMQ — with solid experience in Ruby on Rails and some Python on the side. Lately I've been focused on AI-powered products: RAG pipelines with hybrid retrieval (pgvector + full-text) and citation-grounded streaming answers, GPT-4o Vision document processing, multi-model LLM chat (OpenAI, Anthropic, Google, xAI), speech-to-text, and an AI marketing-content platform used by large enterprise brands.

On the backend I design layered, type-safe APIs, queue-based async pipelines with retry/cancel/retention, real-time updates via SSE/Socket.io, and multi-tenant white-label systems. I've integrated a wide range of third-party services — Stripe subscriptions, SamCart, Toast POS, Paylocity HR, Microsoft Entra ID SSO, Clerk, AWS S3/CloudFront, Azure Blob, Mux and transactional email providers. On the frontend I build polished React/Next.js apps with complex flows (XState wizards, rich-text editors, drag-and-drop, PDF export), i18n and accessibility on Tailwind/shadcn/MUI.

I care about the unglamorous parts too: unit/integration testing with coverage gates, Zod validation, security hardening (JWT/argon2, RBAC, rate limiting), observability (Sentry, PostHog), Docker, CI and deployments to Vercel, Railway, AWS and PM2/Nginx. I started programming at university in 2019, graduated with a Bachelor's in Information Systems, and have been building for startups and mid-sized tech companies since 2022. Always open to interesting problems and new opportunities.

Skills

TypeScript
JavaScript
Node.js
React
Next.js
Express
Fastify
tRPC
Ruby on Rails
Python
PostgreSQL
MongoDB
Redis / BullMQ
Prisma
Drizzle
pgvector / RAG
OpenAI / Anthropic APIs
Vercel AI SDK
Stripe
Tailwind CSS
Docker
AWS
Azure
Vercel
CI/CD
Vitest / RSpec
WordPress
My Projects

Check out my latest work

I've worked on a variety of projects, from simple websites to complex web applications. Here are a few of my favorites.
Client and company projects are shown under anonymized names and without screenshots to respect NDAs.

Citeable — RAG Research Workspace

NotebookLM-style workspace: ask questions over your own documents and get streaming answers with citations that jump to the exact passage. Solo full-stack: async ingestion pipeline (PDF/web/text) with BullMQ + SSE progress, hybrid retrieval (pgvector + full-text), provider-agnostic LLM layer (Anthropic / OpenAI-compatible / Ollama), session auth with argon2, rate limiting and per-workspace ownership scoping.

Node.js
Fastify
Prisma
PostgreSQL + pgvector
Redis/BullMQ
MinIO
Vercel AI SDK
Anthropic SDK
React
Vite
TanStack Query
Tailwind/shadcn
Tiptap
Docker
Vitest

DocAlly — AI Document Accessibility SaaS

Helps educators convert DOCX/PPTX/XLSX/Google Docs into accessible formats. Built the backend foundation (JWT auth, invitations, 4-level RBAC, OpenAPI) and the processing pipeline: batch upload via S3 pre-signed URLs → cost estimation → parse & extract images → GPT-4o Vision heading classification & alt-text → patch original file; Redis/Bull jobs with retry/cancel/retention. Credit system + Stripe subscriptions, school/teacher admin, bulk import.

Node.js
Express
TypeScript
PostgreSQL
Prisma
Redis/Bull
React
Vite
Tailwind
OpenAI GPT-4o Vision
Stripe
S3/MinIO
Docker
PostHog

Ledgerly — Restaurant Analytics Platform

Real-time operations analytics for a multi-location restaurant group, aggregating data from Toast POS. Monorepo with end-to-end type-safe tRPC API, POS sync pipeline (auth, rate-limit backoff, hourly/daily cron upserts, timezone & currency normalization), a Python ML microservice (River SNARIMAX online learning) for sales forecasting & anomaly detection, 22-table PostgreSQL schema with threshold-based alerts and P&L/EBITDA reporting. HMAC session auth, circuit breaker, structured logging; deployed on Railway/Vercel.

React
Vite
Tailwind
shadcn
Recharts
Node.js
Express
tRPC
Drizzle ORM
PostgreSQL
Python/River
Docker
Railway
Vercel

Polychat — Multi-model AI Chat Platform

Team workspace AI chat supporting OpenAI, Anthropic, Google and xAI with real-time streaming. Lead frontend (~250 commits, team of 5): full custom auth flows on Clerk Elements, core chat UI (history sidebar, search, context menus, project & file management), a real-time Reasoning Sidebar wired to AI SDK streams, shared component library on shadcn/Radix, mobile responsive.

Next.js 15
React 19
Tailwind
shadcn/Radix
Vercel AI SDK
Clerk
oRPC
TanStack Query
Zustand
Prisma
Neon
Upstash
Turborepo
Storybook

Brandforge — AI Marketing Content SaaS

Multi-tenant, white-label platform generating personalized greeting cards, portraits, gift cards and image/video ads with AI for 80+ enterprise clients across banking, insurance, tech, retail and out-of-home advertising. Per-client themed React app with XState multi-step wizard, Google OAuth, Stripe, EN/ZH i18n, Konva canvas editor, Socket.io real-time. Express + MongoDB REST API, async AI generation pipeline on Bull/Redis (50+ queue processors), node-canvas & FFmpeg media processing, Azure Blob, AdminJS.

React
Redux Toolkit
XState
Konva
Socket.io
Node.js
Express
MongoDB
Redis/Bull
AdminJS
Stripe
FFmpeg
Azure Blob
Docker
Vercel

Complyra — Employee Compliance Management

HR & compliance records system for a US early-childhood education chain. Co-built from scratch: Express + Prisma backend and Next.js frontend (feature-first, ADMIN/EMPLOYEE RBAC), Microsoft Entra ID SSO with automatic account provisioning, Paylocity HR sync (Core HR API, WebLink, webhooks), MinistrySafe background checks, USPS address validation, S3 presigned uploads. Document module with bulk upload/replace/zip download, expiry tracking, cron email reminders and compliance status; audit logging, soft-delete, coverage-gated tests, PM2 + Nginx deploy.

Node.js
Express 5
Prisma
PostgreSQL
Next.js 16
React 19
NextAuth
Tailwind
Zod
Entra ID / Graph API
Paylocity API
AWS S3
PM2
Nginx

Impactly — Impact Measurement Platform

SaaS for organizations to measure social impact and manage data (web app, REST API, admin). Layered API (Route → Handler → Service → Repository), Casbin RBAC, JWT + OTP; Stripe subscriptions (webhooks, renewals, refunds, coupons); Redis/Bull background jobs (Excel import, webhooks) and cron; OpenAI for data summaries and speech/video-to-text (Whisper + ffmpeg). Frontend: Theory of Change, Data Tools, Data Sources/Sets, Consent, Summaries, Reports with TipTap, dnd-kit and PDF export; deployed to S3 + CloudFront across 3 environments.

React
Redux Toolkit
MUI
TipTap
Node.js
Express
Prisma
MongoDB
Redis/Bull
Casbin
Stripe
OpenAI (GPT + Whisper)
S3/CloudFront
AdminJS
Docker
PM2

NurseReady — Nursing Exam Prep Platform

Exam-prep platform for nursing students in the US (entrance & licensure exams). Question engine with 12+ interactive types (multiple choice, drag-and-drop, matching, fill-in, highlight, ordering, freehand drawing…), scoring & rationales, specialty-based Test Creator; video courses with chunked S3 upload, subtitles and progress tracking; forum with nested comments & voting; membership & payments via SamCart webhooks; shared JWT between Rails API and Next.js; ActiveAdmin.

Ruby on Rails 7
PostgreSQL
Devise
ActiveAdmin
ActionCable
CarrierWave + S3
RSpec
Next.js
React
Redux
dnd-kit
CKEditor
Docker

Reelfolio — Creator Subscription Platform

Short-form video platform where creators publish reels and earn paid subscriptions. Built the Reels Draft/Publish/Schedule/Archive flow (service layer, tRPC routers with ownership & archive limits, cache invalidation, UI), ~15 React Email templates (subscription, payment, account-deletion warnings, ToS) + notification settings, creator sign-up and account management, Terms/Privacy pages, i18n, animated WebP splash with progressive loading, infinite scroll, accessibility; Sentry with PII scrubbing, Vitest unit tests.

Next.js 15
React 19
tRPC
Prisma
PostgreSQL
NextAuth
Tailwind
Radix
React Email/Resend
i18next
Mux
Upstash
Stripe
Sentry
Vitest
Storybook

PT&T GROUP

Designed, developed a architecture website for a client in Vietnam. With high-tech 3D rendering technology, the website is able to display the most realistic images of the projects.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Đam San

Designed, developed a architecture website for a client in Vietnam. With high-tech 3D rendering technology, the website is able to display the most realistic images of the projects.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Nhàn | Kiến trúc & Nội thất

Designed, developed a architecture website for a client in Vietnam. With high-tech 3D rendering technology, the website is able to display the most realistic images of the projects.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Nội thất DRG

Designed, developed a architecture website for a client in Vietnam. With high-tech 3D rendering technology, the website is able to display the most realistic images of the projects.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Khang An House

Designed, developed a architecture website for a client in Vietnam. With high-tech 3D rendering technology, the website is able to display the most realistic images of the projects.

Next.js
Typescript
PostgreSQL
Ruby on Rails
TailwindCSS
Active Record

Dokihouse

Designed, developed features for a content creator website. Implemented a custom CMS for managing blog posts and pages. With SEO optimization, the website has a high ranking on Google.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap
TR Studio Architecture & Interior

TR Studio Architecture & Interior

Designed and developed almost all the pages for a architecture website for a client in Vietnam. Implemented a custom CMS for managing blog posts and pages.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Starvit

Designed and developed almost all the pages for a architecture website for a client in Vietnam. Implemented a custom CMS for managing blog posts and pages.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap

Go DTAgency

Designed, developed a digital marketing agency website. Helped the client to increase their online presence and attract more customers. Integrated a custom contact form with email notifications.

React
Typescript
Bootstrap
HTML/CSS
SCSS
Dalat Honey

Dalat Honey

Designed, developed an e-commerce website for a client in Vietnam. Help the client to increase their online sales and attract more customers.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap
Account Store

Account Store

Digital Store for selling accounts. Developed all the features for the website. Integrated a custom contact form with email notifications. Optimized the website for SEO.

WordPress
HTML/CSS
SCSS
PHP
JavaScript
jQuery
Bootstrap
imdb rating

imdb rating

A Movie Database website that allows users to search for movies and view their ratings. Users can also create an account and add movies to their watchlist.

React
Typescript
Bootstrap
HTML/CSS
SCSS
Contact

Get in Touch

Want to chat? Just shoot me a dm with a direct question on LinkedIn or Email and I'll respond whenever I can. I will ignore all soliciting.