Skip to main content
Matthew Nguyen
Available for software & platform work

Software Engineer specialising in Golang, distributed systems, and event-driven architecture.

I have extensive experience building reliable software for payments, identity management, and Web3 platforms. Based in Ho Chi Minh City.

01 / Selected Work

Things I've built.

View all (3) →

OrderX — Event-Driven Order Service

Event-driven order processing with APISIX ingress, Kafka-backed async workflows, and real-time SSE/WebSocket notifications.

  • Go
  • Gin
  • Apache APISIX
  • Apache Kafka
  • PostgreSQL
  • +6

Multi Aura — Social Networking Platform

Real-time social platform with chat, content interaction, AI-powered Vietnamese moderation, and graph-based relationship modeling.

  • Go
  • Fiber
  • Python
  • PhoBERT
  • gRPC
  • +5

Hihand Shortener — URL Shortening Service

High-performance URL shortener with Base62 encoding and Redis-backed O(1) redirection.

  • Go
  • Gin
  • Redis
  • Docker
  • Render
  • +1
02 / Journey

Where I've been building

Full timeline

Golang Developer

Nexsoft Technology
06/2026 — PresentHo Chi Minh City, Vietnam · On-site
  • Designed and shipped reusable platform components shared across multiple backend services — standardised logging, transport, middleware, and common infrastructure.
  • Designed a reusable multi-chain blockchain SDK that abstracts chain-specific implementations behind a unified API: wallet management, address derivation, transaction signing, and Flutter FFI integration for backend services and native mobile apps.
  • Built a high-performance networking library on QUIC / HTTP-3 with bidirectional streaming, large file transfer, progress reporting, and context-aware cancellation.
  • Delivered internal gRPC / ConnectRPC services over Protocol Buffers for efficient inter-service communication.
  • Implemented a centralised RBAC authorisation layer with Casbin, giving consistent permission enforcement across backend services.
  • Built platform libraries adopted across multiple services, reducing duplicated implementation and improving development consistency.
GogRPCConnectRPCProtocol BuffersQUICHTTP/3Flutter FFIPostgreSQLRedisCasbinBlockchain (EVM, SVM)

Backend Developer

ESOL Technology Solution JSC
01/2025 — 05/2026Ho Chi Minh City, Vietnam · On-site
  • Built and deployed backend services for merchant management, payment processing, and partner integrations in production as part of a multi-tenant SaaS payment platform.
  • Implemented payment integration flows for Virtual Account and QR instruments, and integrated with banking systems (e.g., BIDV) for real-time transaction processing via IPN callbacks.
  • Designed Kafka-based event-driven workflows for IPN handling, transaction processing, and dynamic fee calculation — asynchronous and scalable.
  • Developed Open API integration flows for merchants, covering authentication, authorisation, and payment processing for third-party systems.
  • Implemented outbound IPN callback mechanisms to push transaction events to internal services and merchant-configured endpoints.
  • Built a risk-mitigation module that detects and alerts on suspicious transactions based on configurable policies.
  • Extended Keycloak 26 (IAM) using custom Java SPIs for platform-specific authentication and authorisation flows.
  • Integrated with SFTP servers to retrieve reconciliation files and used AWS S3 for scalable file storage within processing workflows.
  • Built payment and e-menu frontends with ReactJS, TypeScript, Tailwind, and Antd, integrating frontend workflows with backend APIs.
  • Improved observability with Prometheus metrics and structured logging across services.
GoKafkaKeycloakJava 21PythonPostgreSQLAWS S3SFTPPrometheusMQTT (EMQX)Odoo 18ReactJSTailwindAnt Design
03 / Recent Writing

From the writing desk.

View all (3) →
4 min read

Why I Prefer Event-Driven Architecture (and When I Don't)

Event-driven design decouples submission from processing, but it is not a default. A look at when EDA wins, when it loses, and what to design around.

  • Backend
  • Distributed Systems
  • Event-Driven Architecture
  • Kafka
4 min read

Rate Limiting at Scale: Picking the Right Bucket

A walk through token bucket, sliding window, and leaky bucket — and why the choice of algorithm is the smallest part of a distributed rate-limiting design.

  • Distributed Systems
  • Rate Limiting
  • Redis
  • Backend

Need a software engineer who can own the platform layer?

Reusable platform libraries, identity & access management, payment systems, and blockchain infrastructure — shipped to production across multi-tenant and event-driven environments.