Skills

  • Site Reliability Engineering
  • Software Engineering
  • Artificial Intelligence
  • Cyber Security

Education

  • Singapore University of Technology and Design, B.Eng. (Hons), Cyber Security and Artificial Intelligence, 2021
  • National Junior College, GCE A’Levels, 2015

Notable works

Quant Trading system

This a live project. It is an automated quant trading system, consisting of multiple microservices including exchange orderbook subscription, data collection, pattern recognition, position management etc. With the data collected, strategies are experimented and backtested. These strategies will be deployed in the exchanges' test environment if found to be profitable in backtesting. If profitable in the test environment, it will be deployed to trade live. Examples of strategies running are fibonacci reversals, rat reversals etc.

Various tools and cloud services are used as part of the system. Data collected is stored on AWS S3 on a daily basis. Redis is used as a cache to store quick access data, as well as to publish-subscribe data received from the exchange to multiple microservices. The entire project is deployed on remote servers (currently digital ocean). The following are DevOps tools there are used for this project:

  • IaC: Terraform
  • CI/CD: Kubernetes, Helm, AWS Elasic Container Registry (ECR), Jenkins, Chartmuseum
  • Observability Stack: Grafana, Loki, Prometheus, Slack
  • Others: Cert Manager

Currently the only exchange that is integrated is Oanda, but it is in the roadmap to integrate more exchanges with different liquidities, spread and asset classes (including cryptocurrency). With more exchanges, more strategies can be implemented such as arbitrage trading. Neural networks can also be implemented as trading strategies as part of this project.

SUTD Capstone project - Whizzpod

The Whizzpod is a semi-autonomous personal mobility device, able to travel on pavements on its own, stopping whenever obstacle or danger areas are detected. The vehicle can be driven both manually and it semi-autonomous mode.

The core of the hardware is a STM32 microcontroller that interfaces with a andriod phone and the components of the vehicle. On manual mode, the steering and accelerator will signal the STM32 to control the speed of the electric hub motor and the direction of the servo motor (and wheels). On semi-autonomous mode, the android phone processes the visual captured by the camera in real-time to determine the speed and direction of the motor and servo motor

The software running on the andriod phone performs image segmentation and image classification to identify the path ahead as well as key obstacles and dangers such as roads and humans. With an indicated destination, the routes and checkpoints are retrieved from google maps API. With the segmentation map as well as checkpoints on the route, I designed an algorithm that allows the vehicle to follow the pavement, making its decisions at junctions to head to the right direction, en route to the destination.

Messenger

The messenger project is built for the following purposes:

  1. Allow easy sending of messages to multiple platforms (telegram, slack, signal etc) through a single endpoint
  2. Remove the need for single or multiple API keys to be stored on other applications that frequently send messages to different channels
  3. Acts as a fast and non-blocking API to interface with the platforms, so applications get a response immediately

The project consist of 3 microservices: a REST API application, a messenging queue and a sender application. The REST API, simply provides endpoints to receive intended messages to be sent and pushes them into the messenging queue. The messenging queue, implemented with RabbitMQ, permits pending messages to be processed by the sender. The sender application acts as a consumer and interfaces with the various platforms to send messages to specific channels.

Currently the messenger is live and complements the Quant Trading System. It also helps as a utility in my personal life.

Neural-Network based Forex Trading system and Control Mobile App
Note: This project consists of 2 applications, a mobile control app and the trading system itself

Trading System

This (deprecated) project is a full pipeline of an automated neural network based Forex trading system to trade with Oanda. The repository contains runnable scripts and notebooks in each component. The following is a summary of the features of the scripts:

  • Data collection: To collect and store data in csv files
  • Mining: Extract from the data for better training, such as body height, wicks height and relative distance from one candle to another.
  • Training/backtesting - A few algorithms were in the midst of experimentation, such as DBScan, iterative-Kmeans clustering, and neural networks. Pre and post training visualisations such as PCA, TSNE, ROC analysis and more are also included and implemented
  • Deployment - A monolithic application that runs a model that was found to be profitable in training.
  • Review - Scripts to review deployed models and the trades executed, illustrated through heatmaps and candlesticks visualisation of PNL.
Trades and live positions are stored on firebase. Firebase also stores control bits that the system reads from. These control bits will determine if positions can still be opened, or even to close all positions.

Control App

The Control App was built in order to control and view the performance of the trading system remotely. With trades and live positions stored on firebase, the control app allowed me to view them live on my IOS device. Live updates of unrealised PNL on positions were also shown with prices being streamed from the exchange. Most importantly, controls were implemented to disallow positions from being opened, and even to close all open positions immediately.


Key working experience

TikTok Pte Ltd, Applied Machine Learning - Site Reliability Engineer
Apr 2024 - Current

  • Lead a team of 3 to design and build a new service that automates the handling of common oncalls and alerts
  • Head the deployment of model distribution and serving stack in multiple new data centers
  • Deployed new features on more than 100 services with internal AB testing framework based on model performance
  • Managed GPU resource allocation to clients in Asia Pacific, Europe and US regions
  • Assisted in automating GPU resource quality control process to reduce online issues
  • Resolved oncalls, alerts and business requests for model distribution and serving cases

The Salvation Army - Youth Worker Associate
Aug 2023 - Feb 2024

  • Worked with at-risk youths to provide them with a safe and stable environment through youth and teenage years
  • Guided disadvantaged youths with diagnosed intellectual disabilities to aid their logical thinking in their daily lives
  • Mentored the youths towards a better understanding when interacting with family and peers

Altonomy Pte Ltd / Blockchain.com - Site Reliability Engineer
Dec 2021 - May 2023

  • Supported operations in cryptocurrency space such as bot trading, order management, deal settlements, accounting, and fund transfers
  • Monitored applications with tools such as Grafana, Loki, Prometheus and shell scripting for 24/7 uptime
  • Worked with CI/CD tools such as Kubernetes, teamcity, chartmuseum, rundeck to maintain deployments
  • Developed services to account for daily P&L and outstanding settlements

Tinkercademy Pte Ltd - Freelance Computing instructor
Aug 2019 - Mar 2024

  • Taught wide range of students from young kids in primary school to adults in tertiary education
  • Coached in various languages, frameworks, and computing branches

Upskills Pte Ltd - Machine Learning Developer Intern
May 2019 - Aug 2019

  • Finetuned BERT NLP model, and implemented strategies such as text preprocessing, feature extraction and data augmentation to suit client’s text classifications needs
  • Developed a web NLP labeling tool based on Doccano, using frameworks VueJs and Django Rest Framework
  • Added advances features to labeling tool such as clustering, summarization and active learning

ZenComputes Pte Ltd - Full Stack Developer Intern
Nov 2017 - May 2018

  • Developed applications using Laravel, PHP, jQuery, WordPress, XCode etc
  • Engaged clients to manage requests and expectations
  • Pushed for sales and branding through networking events