Full-stack software engineer

Hong Kong

Open to roles & freelance

John Wong

I build the software operations run on — enterprise platforms, IT service automation, clinic and factory systems, fintech integrations and practical AI automation.

Now
Analyst Programmer, Gammon Construction
Studio
Founder, Pulse Nova Inno Tech
Before
Senior Software Engineer, One2Cloud
Sectors
Construction, healthcare, manufacturing, fintech
Languages
Cantonese, English, Mandarin
Illustrated portrait of John Wong

10 min →~1 min

Clinic medication intake, with OCR and human review

30 s →~100 ms

Load-to-render on one data-heavy enterprise module view

2 min →~1 min

Deployment downtime after moving to independent microfrontends

~300k

Medical-record rows migrated with two months of one-way sync

(01)

Selected work

Case studies from production systems. Client and internal product names are kept private; each entry shows its real delivery stage.

9 case studies shown

01

Multi-branch clinic operations platform

Pulse Nova · client project
HealthcareIn production

One system for bookings, walk-ins, doctor queues, patient records, prescriptions, payments, inventory, attendance and WhatsApp messaging across a group of clinics.

Next.js / React front end with Zustand and WebSockets for live chat, booking and notification updates. TypeScript / Express API with its own dependency-injection layer on PostgreSQL and TypeORM, deployed to AWS ECS with Terraform and GitHub Actions. WhatsApp Business API with verified webhooks and an outbox for safe retries. OCR-assisted medication intake runs on an SQS-triggered AWS Lambda so heavy scans never slow the core API. Configurable RBAC, record-level visibility, contact masking, sensitive-data access logs and remote session logout.

~10×faster medication intake

RoleLead developer · requirements to deployment

Period2024 – Present

  • Now serving 4 branches
  • At 3 branches (May 2026): 36 users, ~2,638 bookings and ~3,100 WhatsApp notifications a month
  • Medication intake cut from ~10 minutes to ~1 minute
  • Legacy PowerBuilder / MySQL system reverse-engineered; ~5 years of history migrated with two months of one-way sync
  • Stored value, cross-branch transactions, daily closing and expense approvals
  • Diagnosed a production slowdown from CloudWatch request logs and shipped fixes for overlapping requests, a redundant refresh loop and background polling

Next.js · Express · PostgreSQL · AWS ECS / Lambda · Terraform · WebSockets · WhatsApp API

02

LLM-driven IT service request platform

Gammon Construction
AI & automationBuilt · preparing for rollout

Replacing a legacy ServiceNow-based eForm and revamping IT service management (ITSM), so staff can ask for IT services and access in plain language while the existing approval processes, user experience and enterprise compliance stay in place.

Azure OpenAI routes each request by intent and fills the required fields, asking follow-up questions for anything missing. The user reviews and confirms the request before any approval starts, and the model never changes accounts itself. Flows run on a reusable, in-process workflow engine inspired by n8n: developers draw a flow in a VS Code extension and drop it straight into the system, with branching, sub-flows, pause / resume and step traces. Microsoft Entra ID sign-in, Microsoft Graph manager lookups and multi-level approval chains, async jobs over Server-Sent Events with polling fallback, and duplicate-submission protection. React / Vite and NestJS on SQL Server, deployed to AKS with Kustomize, Azure Pipelines and Key Vault.

RoleDesigner · main developer

Period2026

  • Natural-language requests turned into structured, approved service tickets
  • Mandatory user confirmation before submission
  • Reusable flow engine with a VS Code visual editor — no third-party workflow service
  • Designed and built; preparing for production rollout

Azure OpenAI · React · NestJS · SQL Server · Entra ID · Microsoft Graph · AKS

03

Microfrontend enterprise workspace

Gammon Construction
EnterpriseDelivered

A shared workspace where finance, forecasting and settings teams ship their own tools independently without breaking each other.

React shell that loads each sub-application from its own bundle URL and manifest at runtime, with a defined load / mount / remount lifecycle, main-layout routing and forced remounts for clean state. Deployed with Docker, AKS and Azure DevOps so each module releases on its own. Separate work on a data-heavy view added parallel loading, chunked processing and lazy rendering of the active section.

~100 msrender, down from ~30 s

RoleShell architect · module developer

Period2024 – Present

  • 5 business modules + 1 shell, released independently
  • Deployment downtime ~2 min → ~1 min (~50%)
  • Specific module view: load-to-full-render ~30 s → ~100 ms
  • Forecast module with Redis caching, Vitest and Playwright E2E tests

React · TypeScript · Azure · AKS · Docker · Redis · Playwright

04

AI-assisted invoice matching

Gammon Construction
AI & documentsDelivered

Finance teams were keying invoice fields by hand and matching them to purchase orders one by one.

LLM-assisted OCR extracts invoice fields, the system matches them against purchase orders and flags differences, and a preparer / checker / approver flow keeps people in control of every posting.

~30%less manual entry

RoleFull-stack developer

  • Designed for ~200 invoices a day
  • ~30% less time spent on manual field entry
  • Three-step review keeps humans accountable

React · .NET · Qwen LLM / OCR · Azure

05

Cross-domain password reset service

Gammon Construction
Security & identityBuilt · preparing for rollout

Staff with accounts in several Active Directory domains needed one self-service reset, started from the IT service request platform.

A Go master syncs accounts across domains, generates a policy-compliant password per domain and sends an encrypted command to that domain’s Java / Spring Boot agent, which resets it over LDAPS. Each agent has its own API key and a separate AES-256-GCM command key that is never sent with commands, plus replay protection and encrypted secrets at rest. Background workers coordinate through database leases, with retries, per-domain failure isolation and idempotent agent jobs. Temporary passwords go to the user’s phone by WhatsApp with SMS fallback.

RoleDesigner · main developer

Period2026

  • One request resets accounts across multiple AD domains
  • Per-agent keys, encrypted commands and replay protection
  • Designed and built; preparing for production rollout

Go · Java / Spring Boot · LDAPS · SQL Server · AES-256-GCM · AKS

06

Multi-tenant factory management platform

Pulse Nova · pilot project
ManufacturingIn use · pilot

A watch-case manufacturer running orders, shipments and invoices on paper and repeated data entry.

React / Vite front end and a NestJS monorepo on PostgreSQL (Neon), with S3, Lambda, Cloudflare and GitHub Actions. Qwen vision models classify and extract purchase orders, delivery orders and invoices into structured line items, with confidence and token tracking, human review and re-scan. JWT, RBAC and multi-company data isolation in the API.

RoleProduct design · architecture · full-stack

Period2025 – Present

  • Customers, batches, purchase orders and revisions in one flow
  • Production, delivery orders, shipment, invoicing and forecasting
  • Order-fulfilment and operational-risk views
  • Multi-company isolation built into every API

React · NestJS · PostgreSQL (Neon) · AWS Lambda · S3 · Qwen Vision

07

Payments & digital identity

One2Cloud · LookCard
FintechDelivered

Secure onboarding, sign-in and wallet flows for a white-label fintech and Web3 card product.

Serverless wallet and transaction workflows on Step Functions, API Gateway, Lambda and RDS. Sumsub eKYC with one-to-one applicant mapping and token-verified callbacks. DID-based OIDC login, RBAC-protected admin portal, server-side secrets and audit logs.

RoleTeam lead · senior engineer

Period2023 – 2024

  • eKYC status sync with a support-assisted recovery path
  • DID login over OIDC
  • Reusable Pulumi / Docker framework for new APIs

TypeScript · AWS · Step Functions · Sumsub · OIDC · Pulumi

08

Receipt & expense mobile app

Pulse Nova · own product
MobileIn development

Scan receipts, split bills with friends and understand spending across currencies.

React Native / Expo app with a NestJS and PostgreSQL backend. Uploads land in S3 and Lambda runs OCR and model extraction into schema-validated JSON, with currency normalisation, retries and webhook callbacks so slow processing never blocks the app.

RoleSolo product engineer

Period2026

  • Receipt scan, upload, review and history
  • Social bill splitting and multi-currency records
  • Async OCR pipeline with retries and callbacks

React Native · Expo · NestJS · PostgreSQL · AWS Lambda

09

ERP browser automation

Gammon Construction
AutomationMoving to implementation

Removing repeated re-keying across a whole procurement flow — purchase records, goods receipt and payment — into a web-based ERP.

Compared UiPath with source-controlled Puppeteer / Playwright for fit, maintenance cost and version control. Prototyped TypeScript automation that handles nested ERP iframes, detached frames, search suggestions and click sequences reliably.

RoleResearch · proof of concept

Period2026

  • Tool evaluation: UiPath vs Puppeteer vs Playwright
  • Working prototype against real ERP iframes
  • POC moving into implementation

TypeScript · Puppeteer · Playwright

(02)

Experience

Full-time enterprise and fintech roles, alongside my own studio shipping production systems for clients.

Nov 2024 – Present

Full-time

Current

Analyst Programmer

Gammon Construction Limited

Construction & engineering · Hong Kong

Enterprise applications, finance workflows and operations automation for construction and engineering teams — from stakeholder requirements through design, build, deployment and support. On the Operations team since September 2026, working in an Agile team on IT service and procurement automation.

  • Designed and built an LLM-driven IT service request (ITSM) platform to replace a legacy ServiceNow-based eForm while keeping its user experience, approval processes and compliance: Azure OpenAI intent routing and slot filling, user confirmation before submission and Microsoft Graph approval chains (preparing for production rollout).
  • Built a reusable, in-process workflow engine inspired by n8n, with a VS Code extension where developers draw flows and drop them straight into the system — no third-party workflow service to depend on.
  • Designed and built a cross-domain Active Directory password-reset service with a Go master and Java / Spring Boot domain agents, encrypted agent commands, retries and idempotent jobs (preparing for production rollout).
  • Architected a React microfrontend shell hosting five business modules with runtime bundle loading, lifecycle contracts and independent releases on Docker, AKS and Azure DevOps — cutting deployment downtime from about 2 minutes to about 1 minute (~50%).
  • Re-engineered a data-heavy module view with parallel loading, data chunking and lazy rendering, taking the load-to-full-render path from about 30 seconds to about 100 ms.
  • Delivered an invoice-matching workflow for ~200 invoices a day, using LLM-assisted OCR, PO matching and preparer / checker / approver steps to cut manual field entry by about 30%.
  • Built forecasting modules and reusable components with Redis caching, Vitest and Playwright end-to-end tests, and revamped logistics and modular-construction progress dashboards.
  • Deployed and integrated an open-source CodePush server supporting rollout, rollback and version targeting for the company’s mobile apps.
  • Led the evaluation of AI coding assistants (Cursor vs GitHub Copilot) under legal and data-compliance constraints, then wrote usage guidelines and trained colleagues in a department of about 80 people.

React · TypeScript · NestJS · C# / .NET · Go · Java / Spring Boot · Azure OpenAI · Entra ID · AKS · Azure DevOps · Playwright

2024 – Present

Founder · alongside full-time role

Founder & Full-Stack Engineer

Pulse Nova Inno Tech Limited

Healthcare, manufacturing & consumer products · Hong Kong

Independent client delivery since 2024, incorporated in June 2026 and run alongside my full-time role. I own discovery, scoping and pricing, product and UI/UX design, architecture, full-stack build, deployment and ongoing support.

  • Lead developer of a clinic operations platform now serving four branches; at the three-branch stage (May 2026) it supported 36 staff, around 2,638 bookings and 3,100 WhatsApp notifications a month.
  • Cut medication intake from about 10 minutes to about 1 minute with OCR, human review and unit / weight checks, offloading scans to an SQS-triggered AWS Lambda.
  • Reverse-engineered a legacy PowerBuilder / MySQL system and migrated about 5 years of history into a redesigned PostgreSQL schema, with two months of one-way sync between old and new systems.
  • Traced a production slowdown through CloudWatch to overlapping client requests and a redundant refresh loop, then shipped single-flight requests, debouncing and background-tab pausing.
  • Built a multi-company factory platform covering purchase orders, revisions, production, delivery, invoicing and forecasting with OCR document extraction and review, now in use on a pilot basis.
  • Building a mobile receipt and expense app with async OCR on S3 / Lambda, bill splitting, multi-currency records and exports.

Next.js · React · Express · NestJS · PostgreSQL · TypeORM · AWS ECS / Lambda · Terraform · Cloudflare · React Native

Jan 2023 – Nov 2024

Senior engineer

Senior Software Engineer

One2Cloud

Fintech, Web3 & cloud · Hong Kong

Led and worked with a small engineering team on LookCard, a white-label fintech and Web3 card platform, owning architecture, technical trade-offs and delivery of payment, identity and cloud integrations; also contributed to a multi-cloud billing automation platform.

  • Designed and deployed AWS wallet and transaction workflows with Step Functions, API Gateway, Lambda and RDS.
  • Integrated Sumsub eKYC with one-to-one applicant mapping, token-verified callbacks, status sync and a support-assisted recovery path.
  • Implemented DID-based OIDC login, RBAC, a separated admin portal, server-side secrets and audit logging.
  • Built a reusable Pulumi and Docker framework to standardise new API setup.
  • Contributed to cloud account, billing and operations automation with AWS CDK, Fargate, SQS / SNS and Puppeteer.

TypeScript · Node.js · React · AWS Lambda · Step Functions · RDS · Pulumi · AWS CDK · Terraform · OIDC

Jul 2021 – Apr 2022

Student role

Student Software Engineer

Sik Sik Yuen

Non-profit & public services · Hong Kong

Modernised services, kiosks and payment flows for a large charitable organisation.

  • Designed microservices on Docker and Kubernetes and built a Go API gateway with role-based access control.
  • Integrated Mastercard Payment Gateway Services (MPGS) 3-D Secure for kiosk / POS payments, including challenge handling and server-side verification.
  • Revamped and maintained a visitor-guidance kiosk and app with Electron and React Native.

Go · Docker · Kubernetes · MPGS · 3-D Secure · Electron · React Native

Oct 2020 – Mar 2023

Full-time, later part-time

Programmer → Senior Programmer

Sengital Limited

Software consultancy · Hong Kong

Programmer (full-time, Oct 2020 – Jun 2021) and Senior Programmer (part-time, Oct 2022 – Mar 2023), after a Unity game-development internship in 2019.

  • Built Puppeteer automation that places e-commerce orders for a logistics company.
  • Built an activity registration and lottery web application for a government department.
  • Ran a security assessment and fixed the findings, and sped up data fetching and formatting for reports.

Node.js · Express · Puppeteer · Nginx

(03)

Freelance services

Through Pulse Nova I deliver projects end to end — from the first workshop to production support.

01

Operations platforms

Replace spreadsheets, paper and WhatsApp threads with one system for bookings, orders, inventory, staff and reporting.

Proven inClinic group · factory workflow

Next.js · NestJS · PostgreSQL · RBAC

02

Document AI & OCR

Turn invoices, receipts and delivery notes into structured data, with human review built in so nothing posts unchecked.

Proven inInvoice matching · medication intake

LLM OCR · AWS Lambda · Schema extraction · Review flows

03

Automation & integrations

Connect WhatsApp, payment, identity and ERP systems, or automate repetitive browser work with maintainable code.

Proven inWhatsApp API · eKYC · ERP RPA

Webhooks · Playwright · OIDC · Microsoft Graph

04

Cloud, performance & rescue

Deploy, monitor and speed up existing apps. Find the duplicate requests, slow renders and fragile releases.

Proven in~30 s → ~100 ms render · ~50% less downtime

AWS · Azure / AKS · Docker · CloudWatch

  1. Discover

    Map the workflow, the people involved and what success looks like.

  2. Design

    Scope, data model and clickable UI before code, with a clear estimate.

  3. Build

    Regular demos on a live staging link, so you see real progress.

  4. Support

    Deployment, monitoring and care once people depend on it.

Book an intro call
(04)

Expertise

Tools I have used in production work.

Frontend & mobile
React, Next.js, TypeScript, Angular, Microfrontends, React Native / Expo, Zustand, WebSockets
Backend & data
NestJS, Express, Node.js, C# / .NET, Go, Java / Spring Boot, PostgreSQL, SQL Server, TypeORM, Redis, REST APIs, Webhooks
Cloud & delivery
AWS, Azure / AKS, Docker, Kubernetes (CKA / CKAD), Kustomize, Terraform, AWS CDK, Pulumi, Cloudflare, GitHub Actions, Azure DevOps
Security & identity
Microsoft Entra ID, Active Directory / LDAPS, RBAC, JWT, OIDC / DID, AES-256-GCM, Sumsub eKYC, MPGS 3-D Secure, Audit logging
AI & automation
Azure OpenAI, Intent routing & slot filling, LLM OCR, Structured extraction, Human-in-the-loop review, Workflow engines, Playwright, Puppeteer, VS Code extensions
Quality & operations
Vitest, Playwright E2E, Sentry, Dynatrace, CloudWatch, Performance tuning
(05)

Recognition & education

Awards

  • Champion — Web Technologies

    WorldSkills Competition 2022 Special Edition, 2022

    Built full web applications under timed competition conditions.

  • Champion & Most Popular Solution

    Cathay Hackathon, 2022

    Sustainable-travel app with carbon-footprint tracking, gamified rewards and a modular API, built in Swift on AWS.

  • Third Place

    IEEE Blockchain Hackathon, 2022

    DAO-backed bookstore using soulbound tokens and NFTs to protect content and author rights.

  • Shortlisted, representing Hong Kong

    Atos IT Challenge, 2020

    React Native app pairing algorithms with carbon-emission tracking.

Certifications

  • CKA: Certified Kubernetes Administrator

    The Linux Foundation, 2025

  • CKAD: Certified Kubernetes Application Developer

    The Linux Foundation, 2025

  • AWS Certified Solutions Architect – Associate

    Amazon Web Services (AWS), 2024

  • AWS Certified Developer – Associate

    Amazon Web Services (AWS), 2024

  • AWS Certified Cloud Practitioner

    Amazon Web Services (AWS), 2023

  • App Development with Swift Certified User

    Apple, 2022

Education

  • Bachelor of Science in Computer Science

    City University of Hong Kong, 2020-2023

  • Higher Diploma in Game Software Development

    Hong Kong Institute of Vocational Education (IVE), 2018-2020

  • Swift Playgrounds tutor

    During university

    Taught primary and secondary students their first programming concepts.

(06)

Questions

Who is John Wong?

John Wong (Wong Ka Hing) is a full-stack software engineer based in Hong Kong. He is an Analyst Programmer at Gammon Construction and the founder of Pulse Nova Inno Tech Limited, and was previously a Senior Software Engineer at One2Cloud, working on the LookCard fintech and Web3 card platform. He won the WorldSkills Competition 2022 Special Edition in Web Technologies.

What kind of software does John build?

Operations software: an LLM-driven IT service request platform, cross-domain identity automation, enterprise microfrontend platforms, multi-branch clinic systems, factory order-to-invoice workflows, fintech identity and payment integrations, and AI-assisted document processing with human review.

Is John available for freelance projects?

Yes. Through Pulse Nova, John takes on freelance projects end to end — discovery, UI/UX, architecture, full-stack development, deployment and ongoing support. Email [email protected] with a short description of the workflow you want to improve.

Is John open to full-time roles?

Yes. John is open to full-stack, backend, cloud and automation engineering roles in Hong Kong. His CV can be downloaded from this site.

What is John’s main tech stack?

React, Next.js and TypeScript on the front end; NestJS, Node.js, C#/.NET, Go, PostgreSQL and SQL Server on the back end; AWS, Azure, Docker, Kubernetes (CKA, CKAD) and Terraform for delivery; Azure OpenAI, Playwright, Puppeteer and LLM-based OCR for automation.

What results has John delivered?

Examples include cutting a clinic’s medication intake from about 10 minutes to about 1 minute, halving deployment downtime on an enterprise microfrontend platform (about 2 minutes to 1 minute), taking one data-heavy module view from about 30 seconds to about 100 ms to render, and reducing manual invoice field entry by about 30%.