About Me

Ching-Cheong Lee
Software Engineer in
Hong Kong

Graduated from HKUST with an M.Phil degree in Mathematics, worked in both academic and nonacademic fields with solid knowledge in frontend programming.

I used to have strong interest in computer vision (from deep learning point of view), recently my interest drifts towards software development, especially on backend and cloud architecture.

Apart from technical side, artistically I have been a game artist as well in mainland China. My art portfolio can be found in

Recent artworks are mostly related to Final Fantasy 14.

Education

  • 03/2019 - 06/2019

    MicroMaster in A.I. and Programming
    Tecky Academy, Hong Kong
  • 09/2012 - 08/2014

    M.Phil. in Mathematics
    The Hong Kong University of Science and Technology, Hong Kong
  • 09/2009 - 06/2012

    B.Sc. in Mathematics (First Class Honor)
    The Hong Kong University of Science and Technology, Hong Kong

Experience (IT Related: 5.96 Years)

  • 15-May 2023 -
    Present

    2 yrs 3.6 mos
    Software Engineer
    Wonderbricks Limited
    Job Summary.
    • Worked on Mobile Application and App Submission
    • Worked on Devops and Cloud Infrastructure with Infrastructure as Code
    • Worked on Backend Development in multiple languages for different usecases
    • Developed various CICD pipelines for backend and frontend projects
  • 15 Aug 2022 -
    April 2023

    8.4 Months
    AI Engineer
    Eye Catching Limited
    Job Summary.
    • Study eye-tracing related algorithm.
    • Study and deploy machine leanring algorihtm in web-app and desktop-app.
    • Completely translate a BlazeFace model in python into the same model in libtorch of C++ for GUI application.
    • Implement methods to ensure weights in pytorch model can be used in libtorch model.
    • Study CMake and develop software to combine libtorch model and imgui application.
    Skills Needed
    Python
    |
    ───
    PyTorch
    Typescript
    |
    ───
    Tensorflow
    |
    ───
    Onnx
    C++
    |
    ───
    Libtorch
    |
    ───
    Imgui
    |
    ───
    CMake Ecosystem
  • Sep 2021 -
    July 2022

    10.9 Months
    Senior Software Developer
    RaSpect Intelligence Inspection Limited
    Job Summary.
    • Object Detection Related.
      • Text Detection. Implemented text detection (EAST) to facilitate signboard defect classification.
      • Crack Detection. Help implement detection model for crack and spalling.
      • Rust Detection. Implemented two solutions: (i) Text removal -> classifcation pipeline; and (ii) direct object detection model using faster rcnn.
    • Image Generation/Inpainting.
      • DefectGAN. Implemented image-generation model following this paper that generate synthetic data on cracks and spallings for training defect detection models on facades.
      • Text Removal. Experimented with existing algorithms like various GAN or image-inpainting method in pytorch. Finally I follow this paper to obtain a text eraser with satisfactory performance.
        For an example of failed model, we refer the results to here.
    • Web or Hardware Related.
      • Maintain React Next project.
      • Data scrapping for house transactions records.
      • Automation on tracking latest rtk-data from official geodetic website and data-processing pipeline.
      • Work with a local grpc based service in Python to interact with a compiled binary (.exe), messed with multi-threading stuff.
    Skills Needed
    Python
    |
    ───
    Selenium
    |
    ───
    Boto3 (AWS SDK)
    |
    ───
    Mongoengine
    |
    ───
    gRPC
    |
    ───
    PyTorch
    Data Annotation Tool
    |
    ───
    CVAT
    |
    ───
    COCO-Annotator
    AI-General
    |
    ───
    Data Annotation
    |
    ───
    DataLoader with Various Data Augmentations
    |
    ───
    Model Training for Rust Detection
    |
    ───
    Model Training for Crack Detection
    AI-Models
    |
    ───
    GAN for Producing Synthetic Data
    |
    ───
    Faster RCNN from Scratch and its Modification
    |
    ───
    Single Stage Headless Face Detector into Rust Detector
    Javascript (Legacy Project)
    |
    ───
    Next
  • Aug 2020 -
    Mid-Aug 2021

    1 yr 0.4 mos
    Software Engineer
    EAB Systems (Hong Kong) Limited
    Job Summary.
    • Build video conferencing frontend and backend application in React, Twilio and express.
    • Build CMS system that lets users create their own single page application.
    • Machine Learning Related. Build CSV Importer (together with an express layer and a Flask layer) that can parse a csv/excel file and perform:
      • Data Classification.
        • Sample Code: Link
        • Classify column based on existing data using LSTM model with two dense layers and finally a softmax.
      • Auto Date-reformatting.
        • Sample Code: Link
        • Based on machine learning model (transformer in NLP) that can translate all common form of date into YYYY-MM-DD format.

    • Data Classification and Auto Date-refomatting are separately two models placed inside tensorflow-serving for deployment.
    Skills Needed
    Typescript
    |
    ───
    React
    |
    ───
    Redux
    |
    ───
    React-Native
    |
    ───
    Express
    |
    ───
    Mongoose
    |
    ───
    Sendgrid
    |
    ───
    Twilio
    Networking
    |
    ───
    socket.io
    Python
    |
    ───
    Pandas
    |
    ───
    Tensorflow v2
  • Sep 2019 - Aug 2020

    11.9 Months
    Front-end Developer
    eLearningPro
    Job Summary.
    • Create HTML5 Coursewares
    • Maintain web pages and construct React frontend application
    • Created a python GUI project for text extraction from an image (a work necessary to translate old fresh game into html5 game).

      Steps for the App:

      1. Press Screenshot button in our app (image of preselected monitor will be recorded)
      2. Select the area for text extraction
      3. Text will be captured by calling google vision API

      Detail can be found here.

    Skills Needed
    Javascript
    |
    ───
    React
    Python
    |
    ───
    tkinter
    |
    ───
    pyinstaller
    Art
    |
    ───
    Adobe Premiere
    |
    ───
    Adobe Photoshop
    |
    ───
    Saola Animate (CSS Animation)
  • Jan 2018 - Dec 2018

    11 Months
    2D Game Artist
    深圳疯点子科技有限公司
    Job Summary.
    Responsible for constructing 3d accessories, creating environment art and character design.
    Game that I worked on: Link
    Skills Needed
    Software
    |
    ───
    Unity
    |
    ───
    Autodesk 3ds Max
    |
    ───
    Adobe Photoshop
    Artistic Skills
    |
    ───
    2D Character Design
    |
    ───
    UI Assets Design
    |
    ───
    Low-poly 3D Model Construction
  • Oct 2015 to Dec 2017

    Unemployed
    Skills Needed
    Thick Skin
    Self-Discipline
    Parental Support

    I was striving to become an artist within two years. Of this time I was taking online courses and drawing on a daily basis. I aimed at being able to draw a variety of game assets (not just character).

    My outcome based on this period can be seen here.
  • Mar 2015 - Oct 2015

    6.9 Months
    Senior Research Assistant
    Department of Mathematics, Hong Kong Baptist University
    Study HJB equations arised in specific financial games.
  • Sep 2014 - Feb 2015

    6 Months
    Research Assistant
    Department of Mathematics, Hong Kong University of Science and Technology
    Study the property of viscosity solution of HJB equations.
  • Sep 2012 - June 2014

    1 yr 9.8 mos
    Teaching Assistant
    Department of Mathematics, Hong Kong University of Science and Technology
    Fulfill teaching duty as required in obtaining studentship in the course of M.Phil study. Subjects include:
    • Calculus II
    • Linear Algebra
    • Mathematical Analysis
    • Real Analysis
    Teaching Material: Link

Programming Skills

Source Control
  • Git
Deployment
  • Docker
  • Basic CI/CD Pipeline in Gitlab
  • Github Actions
Infra as Code
  • Terraform
Cloud (AWS)
  • Security Group
  • Target Group
  • Load Balancer
  • ECS Fargate
  • Route53
  • S3
  • CloudFront
  • Lambda Functions
  • API-Gateway
  • API-Gateway with Websocket API
  • RDS
  • RDS-Proxy
  • IAM Policies
  • SQS
Typescript
  • React
  • React-Native
  • Redux
  • Redux-Saga
  • Next.js
  • Electron.js
  • Electron with Next.js
  • Node.js
  • Express.js
  • Socket.io
  • Twilio.js
  • Knex.js
  • Mongoose.js
  • Prisma.js
  • Prisma-Kysely.js
Kotlin
  • Spring Boot
  • Coroutines
  • SSE
  • Domain Driven Design
  • JOOQ
Java
  • Spring Boot
  • Hibernate
  • iBatis
C#
  • Windows Presentation Foundation
C++
  • CMake Ecosystem
  • Libtorch
  • OpenCV
  • ImGui for Desktop App
Golang
  • Gin
  • Goose
  • Sqlc
  • Azure-sdk for Voice
  • Go-Jet
Python
  • Tensorflow v2
  • PyTorch
  • Pandas
  • Flask
  • ONNX
  • Openpyxl
  • Boto3
Rust
Data Streaming
  • Debezium (Kafka)
Message Broker
  • RabbitMQ
Database Query & Management
  • PostgreSQL
  • MongoDB
Deep-Learning
  • Embed custom trained pytorch model in ONNX format into frontend
  • Implementation from scratch and training experience with CNN such as
    • Object Detection
    • Text Detection with Rotation
    • Image Classification
    • Image Generation and Image In-painting
  • Implementation and training experience with LSTM Model and Transformer to do:
    • Summarization on a column of data
    • Translation of random date format into standard YYYY-MM-DD one

Art Skills

Tools
  • Photoshop CC
  • 3DS Max
Thingies I Draw
  • 2D Character
  • 2D Environment