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.
Work Experience
Skills
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.
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.
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.
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.
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.
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.
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.
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.
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.



