Skip to main content

Projects

Banking, logistics, manufacturing and oil and gas systems, plus an LLM subtitle pipeline.

14 projects

ANZ Plus — payments and customer services

I build Go and gRPC services for ANZ Plus: payments, disputes, self-service, customer profiles and international transfers (PayID, PayTo and IMT). I use Cursor and Claude Code to plan, refactor and draft tests. AI-written code passes the same CI and security gates as any other change.

Go / gRPC / GCP / GKE / Kubernetes / Pub/Sub / BigQuery / Cloud Run / Helm / GitHub Actions / Claude Code

ANZ Plus

ANZ's digital bank in Australia. This role is through HCLTech Vietnam.

Project Bifrost — customer and account migration into ANZ Plus

I build migration services in Go on GCP to move customer and account data from ANZ classic banking and Suncorp Bank into ANZ Plus. ANZ completed its acquisition of Suncorp Bank on 31 July 2024, adding about 1.2 million customers, and has committed to moving those customers onto its systems and digital platforms by June 2027.

Source: ANZ, 31 Jul 2024ANZ, 7 Sep 2026

Go / GCP / Data migration

ANZ Plus

Migration of customer and account data from ANZ classic banking and Suncorp Bank into ANZ Plus.

IOGA.fr — AI video knowledge platform

Team of 6

Built a subtitle pipeline for IOGA.fr, a French platform that turns field video, mainly from construction, into searchable text. Azure AI Speech transcribes each video, then Azure OpenAI (GPT) translates those subtitles into several languages, replacing the manual step. The platform runs on AWS (Lambda, DynamoDB, S3, ECS/EKS) alongside Azure.

Azure AI Speech / Azure OpenAI / C# .NET / AWS Lambda / DynamoDB / AWS S3 / AWS ECS/EKS / Azure DevOps

IOGA.fr

French video platform used in construction, with transcription and translation.

Bolloré Logistics (CMA CGM) — Application Insights to Splunk via OpenTelemetry

Solo

Proposed, designed and carried out the move from Azure Application Insights to Splunk via OpenTelemetry (OTLP, collector, Splunk HEC), cutting observability cost by more than 60%. Piloted on the freight quote system, then rolled out to the other .NET microservices.

OpenTelemetry / Splunk / C# .NET / OTLP / OTel Collector / Application Insights / Azure

Bolloré Logistics (now CMA CGM)

Logistics company.

Bolloré Logistics (CMA CGM) — freight quote system

Team of 10

Reworked the core quote search on the internal freight-quote system, making it 5x faster, and added feature modules and responsive pages.

C# .NET / Azure / Knockout.js / Blazor / MongoDB / MS SQL / Search

Bolloré Logistics (now CMA CGM)

Logistics company. This quote system was freelance work in a team of 10.

Halliburton — eCompletion Tools desktop application

Team of 5

Engineers on offshore rigs often have no internet, so the tool cannot assume a live link to the central server. eCompletion Tools is a WinForms app that stores the job in LiteDB on the machine and syncs to that server when the connection returns. I later moved its database to Azure SQL and its sign-in to Azure AD.

C# .NET / WinForms / Azure SQL / LiteDB / Entity Framework / Stored Procedures / Azure AD / MSTest

Halliburton (via FPT Software)

Oil and gas services company. Drilling and completion systems.

Halliburton — eCompletion Tools sync server

Team of 5

Moved sync-server messaging from RabbitMQ to Azure Service Bus with dead-lettering. Rig data reaches downstream services as events, and failed messages can be inspected and replayed instead of lost. Kept Azure DevOps pipelines, with MSTest unit tests and integration tests so QA could check sync and data integrity.

C# .NET / Azure Service Bus / RabbitMQ / MSTest / Azure DevOps / Dead-lettering

Halliburton (via FPT Software)

Oil and gas services company. Drilling and completion systems.

Halliburton — SAMS data verification

Team of 5

Maintained SAMS (Sub-Atmospheric Mud System), a WebForms app that normalizes well data and decides whether a dataset is a SAMS event. Classification rules agreed with petroleum engineers live in tested code, so rule changes can be checked by QA before release.

C# .NET / WebForms / MS SQL / MSTest / Stored Procedures

Halliburton (via FPT Software)

Oil and gas services company. Well-data verification.

Sacombank — e-invoice system

Team of 8

Built and maintained the bank's e-invoice system on ABP Framework (.NET Core and Angular) for periodic fees, e-banking charges, loan interest, and foreign-exchange transactions, in line with Ministry of Finance e-invoice rules.

C# .NET / ABP Framework / Angular / Oracle / SQL Server / Stored Procedures

Sacombank

Vietnamese commercial bank. This system issues invoices for fees, interest and foreign exchange.

Sacombank — POS management system

Team of 5

Took over the POS management system from an outsourced vendor, then maintained and extended it in .NET and Java Spring Boot. It supports Visa, Mastercard, UnionPay, NAPAS, and QR wallets (MoMo, ZaloPay, VNPAY).

Source: Sacombank Annual Report 2021

C# .NET / Java Spring Boot / Jenkins / Oracle / POS / NAPAS

Sacombank

Bank scale at the end of 2021: ~10 million customers and ~122,000 POS/mPOS/QR acceptance points.

Sacombank — CRM mobile app (Xamarin)

Team of 5

Worked on the internal CRM system, including its Xamarin mobile app, with BA and QA.

Xamarin / C# .NET / iOS / Android

Sacombank

Internal CRM for relationship staff.

Apollo English Vietnam — ERP system

Team of 6

Added CRM, applicant tracking, class and student management, and financial reconciliation features. Payment (Payoo, VNPay) and recruiting (TopCV) data now arrives in the ERP through webhooks and APIs, and every release goes out through the same GitHub Actions pipeline to IIS, with monitoring across the center network.

C# .NET / Angular / PostgreSQL / GitHub Actions / IIS / Payoo / VNPay / TopCV

Apollo English Vietnam

English language centers in Vietnam, with a network of 70+ centers.

Rozitek — smart factory racket transfer

Team of 5

Built the backend for an AMR robot line in a badminton and tennis racket factory. Scheduled jobs, webhooks and REST APIs carry rackets from raw-material pickup to finished-goods collection, and transport between stations runs as a closed AMR loop instead of manual carrying.

C# .NET / Java / Docker / Linux / REST APIs / AMR Robots

Rozitek Intralogistic Solution

Factory intralogistics company in Vietnam.

Infragistics Reveal BI — automation testing

Team of 15

Built Selenium WebDriver and MSTest end-to-end suites for dashboards, charts, and data sources, and wrote SDK guides in Docusaurus.

Selenium WebDriver / MSTest / C# .NET / Docusaurus

Infragistics (Reveal BI)

Embedded analytics SDK from Infragistics.