CV
Photo by Fabrizio Chiagano on Unsplash

About Me

Avatar

" An experienced software engineer who cares about quality, team, and society."

Portfolio

Nationwide Building Society Amazon Connect

Call Centre

Modernizing Nationwide Building Society customer service system to Amazon Connect using React JS with GlobalLogic UK ...

2023 Full-time
Sainsbury's Bank Amazon Connect

Call Centre

Modernizing Sainsbury's bank customer service system to Amazon Connect on Serverless with GlobalLogic UK ...

2022 Full-time
Running tracker

Running Tracker

A mobile web app tracking runners trail using Web API and Vanilla Javascript. The geolocation data only stay in users browser and not sending to any backend server ...

2021 Side project
Bills Management

Bills Management

WonderBill changes the way you manage your household bills. Connect your provider, manage your bills and find great provider deals for your gas, electricity, mobile, TV, landline and broadband. ...

2021 Full-time
Covid tracker

Covid-19 Tracker

CovidClean (beta) helped travelers to make a better option by accessing Covid-19 cases connecting to flight information ...

2020 Side project
Car

Travel Experience

Melco Club App simplifies the booking experience of hotels, restaurants and limousine and many other services at Melco Resorts ...

2020 Full-time
Personalized Investment Ideas

Personalized Investment Ideas

Personalized Investment Ideas is a smart tool that allows Standard Chartered Bank relationship manager to provide up-to-date buy and sell investment ideas scaled to suit customer's investment needs ...

2018 Full-time
Itinerary planner

Itinerary Planner

Travie App was a personalized itinerary planner providing attractions and restaurants recommendation, routes suggestions, and flight and hotel booking ...

2017 Side project
Palo IT

Consultancy

PALO IT is a global innovation consultancy and Agile software development company dedicated to helping organizations embrace tech as a force for good ...

2017 Full-time
Travel Booking

Travel Booking

Travel Global offerings flights, hotels, attractions and entertainment booking ...

2016 Full-time
Car Trading

Used Cars Trading

AutoBid aims to solve the low transparency and efficiency of the used car market in Hong Kong by matching sellers and buyers based on price prediction algorithm ...

2015 Side project
Recommender

Recommendation Engine

A recommendation engine for TV set-top box users suggesting content by persona ...

2014 Full-time
E-Commerce

E-Commerce

HKTDC.com is a B2B platform for e-commerce ...

2011 Full-time
HSBC

Treasury System

A settlement platform for HSBC Global with IBM Hong Kong ...

2011 Full-time
Baggage Handling System

Baggage Handling System

Modernizing the Human Machine Interface of the Baggage Handling System for Airport Express ...

2010 Full-time
Cyber Security

Banking Security

Enhancing customer transaction security for Bank of East Asia with E-business Solutions ...

2010 Full-time
Baggage Handling System

Baggage Handling System

Tracking and delivering baggages with RFID and PLC technology for the Hong Kong International Airport with E-Business Solutions ...

2009 Full-time
Container Liner

Enterprise Messaging System

Developing messaging platform for Customs clearance with OOCL ...

2008 Full-time
Venetian Macao Resorts

Enterprise Resources Planning

Developing an Enterprise Resources Planning system with Hsin Chong to manage Venetian Macau Resorts construction project ...

2007 Full-time
Construction

Enterprise Resources Planning

Developing an Enterprise Resources Planning system with Hsin Chong ...

2006 Full-time
Mass Transit Railway

Human Resources

Developing an Human Resources system for Hong Kong Mass Transit Railway with PeopleSoft ...

2004 Full-time

Services

Software Development
DevOps
System Architecture
Machine Intelligence
Photo by Gilles Lambert on Unsplash

Blog

Running Tracker

Make a running tracker with Geolocation API

Location service is a crucial capability of mobile devices. While enjoying all the advantages like direction service, checking the nearest inventory during online shopping, I am always concerned about how much ...

Jun 2021 Read more
Mountains

Visualize Your Skills with D3

The wave of Web 2.0, alongside the advance of mobile devices and the Internet infrastructure a decade ago, embraced a new paradigm of creating web and mobile ...

May 2021 Read more
Deploy API on Kubernetes for Free

Deploy API on Kubernetes for Free

Kubernetes has gained tremendous popularity and becomes the de-facto container orchestration tool because it provides ...

May 2021 Read more
Power Up Your CV With CSS (Part 2)

Power Up Your CV With CSS (Part 2)

In Part 2, we’re going to power it up with a practical and fascinating function to impress your audience by presenting your remarkable achievement visually.

May 2021 Read more
Power Up Your CV With CSS (Part 1)

Power Up Your CV With CSS (Part 1)

The recruitment domain has been advancing by more accurate employers and employees matching using Machine Learning algorithms in recent years. Ridiculously when we get into the details of the candidates ...

May 2021 Read more
Mock a Library in Jest and Typescript

Mock a Library in Jest and Typescript

Importing libraries to extend software capabilities is a productive approach in development. As described in the DRY (Don’t Repeat Yourself) principle, it is not sensible to reinvent the wheels in most cases. Building application with libraries ...

Jan 2021 Read more
Mock DynamoDB in Typescript

Mock DynamoDB in Typescript

In 2021 one of our team priorities is to move toward Serverless architecture. It is tricky to build the unit tests on top of the AWS services. It dragged me a couple of hours to figure out the most comfortable way to mock the DynamoDB functionality ...

Jan 2021 Read more
Jest With Typescript

Jest With Typescript

The test-driven programming approach has become many successful developers’ essential building block to deliver high-quality code. Mocha and Chai are a prevalent testing tool in the Javascript/ Node.js domain in the last few years ...

Oct 2020 Read more
Implement pub/sub in Node.js with Bee-queue

Implement pub/sub in Node.js with Bee-queue

In the distributed computing domain, event-driven or pub/sub is a sensible architectural option for asynchronous communication. There are several fashions to implement a pub/sub in Node.js ...

Sep 2020 Read more
Unit test with ES2020

Unit test with ES2020

ES2020 has released in June. Developers are fascinated by the new features like nullish coalescing, optional chaining, and Promise.allSettled. To experiment with it in the production pipeline, the unit test suite is likely the first thing developers need ...

Aug 2020 Read more
Install Mulesoft Anypoint Studio on MacOS

Install Mulesoft Anypoint Studio on MacOS

It took me a while to figure out the installation of Anypoint Studio on Mojave. The first problem was the Anypoint Studio is only working on a particular JDK version. The second problem was that ...

Feb 2019 Read more
Install Mulesoft Anypoint Studio on MacOS

Install Rabbit MQ 3.3 on CentOS 7

This is a step by step guide to install the Rabbit MQ 3.3.5.1 for the series of topics about AMQP messaging. Rabbit MQ support most of the Linux distributions, Mac OS and MS Windows. I would demonstrate it on ...

Sep 2014 Read more
Apply Dependency Control on AngularJS

Apply Dependency Control on AngularJS

Appreciated to the JS community for minify and uglify tools so we save much bandwidth for the web apps and the mobile apps. To uglify and concatenate java scripts files make the download more efficient ...

Mar 2014 Read more
Customize your own favicon in Kraken JS

Customize your own favicon in Kraken JS

Kraken JS is built on top of Express JS and Connect JS. It inherits the favicon of Connect JS by default and you may spend some time to get rid of it, just like me. Here is the workaround ...

Feb 2014 Read more
Synchronous control of iteration containing callback execution

Synchronous control of iteration containing callback execution

You love Node.js because of its non-blocking programming model to make your software better throughput. Sometimes you need step-by-step execution for example of a member registration which includes some database ...

Jan 2014 Read more
The influence behind a stocks market using social network analysis

The influence behind a stocks market using social network analysis

This analysis aims to reveal the influence of enterprises in the Hong Kong economy. Hong Kong is one of the remarkable financial centers in the world. Hong Kong economy is highly coherent to the stocks market ...

Dec 2013 Read more
Classification using Random Forest Approach

Classification using Random Forest Approach

Kaggle is really a great place to learn data science in a practical way. Today I just joined a competition (tutorial) and submitted my first prediction using Random Forest Classifier. I scored 0.77512 for my initial try and really surprised by the efficiency of the Scikit ...

Nov 2013 Read more
Install Scikit-learn on Python IDE Canopy

Install Scikit-learn on Python IDE Canopy

Canopy is a very well equipped IDE for Python programmer. With its free version, you 've have already offered NumPy, SciPy, and many more useful libraries. Today I need to use the Random Forrest Classifier from Scikit-learn, but it needs to upgrade to Canopy ...

Nov 2013 Read more
List of good books in Big Data

List of good books in Big Data

Data Science is an emerging field comprising of expertise across different domains. Here's a list of awesome books I highly recommended to individual from different level ...

Oct 2013 Read more
A movie recommender based on the similarity of text contents

A movie recommender based on the similarity of text contents

A recommendation function is gaining popular in many websites. It is useful to increase the traffic of the websites. There are many different implementation of a recommendation engine ...

Oct 2013 Read more
To achieve High Availability with two commodity computers

To achieve High Availability with two commodity computers

The High Availability becomes the implicit non functional requirement since the enterprises has been paying rising attention ...

Oct 2013 Read more