Projects


For me, side projects are the real boosters for learning programming. Building an application gives me motivation and satisfaction to learn. From finding the right packages to use in my project, reading the documentations, structuring my code to debugging my program, these processes have been a great portrait of the quote, "learn from your mistakes". Below are some projects that I have worked on during my spare time:

Multiplayer Snake Pygame

This game kicked off my coding life. I literally started having some grasps about Python and Object Oriented Programming throughout the entire project. It was a winter semester break during my final year study in university, I spent about a week or two watching coding youtube videos, reading documentation and searching for solutions on stackoverflow before I coded this game out. It was a fun journey and I fell in love in programming since then. It was from this moment onwards, I could not stop thinking about landing a job in the tech industry albeit being a Mechanical Engineering student. Check here out for more!


Python Machine Learning Web App

Originally, this was a coding test from an interview for a Machine Learning Engineer role, and it became my first ever machine learning experience. The task was to build a web application that takes JSON data, trains the model and returns prediction results through APIs. The machine learning model takes in two features, a categorical feature 'species' and a real value feature 'age', and makes predictions to get the real value target 'score' of the input animal. The biggest challenge to me at that time was the feature engineering process. I encoded the categorical feature with OneHotEncoder to 1's and 0's to differenciate the animal species because I don't want to have any biases on different species. I used linear regression to train the model to return a real value target. For the API, I used Python Flask for its simplicity. It was a really low quality code, but I learned a lot throughout the interview, thanks to the interviewers! Here is the github link!

Flutter Snake Game

Flutter is known to be a cross-platform framework that helps compile native applications for mobile. For a newcomer to the software engineering industry, it's best for me to write a single codebase and use it to compile mobile apps. As a result, I used Flutter to recreate the snake game (again) to be familiar with the framework.


For more details, have a look at here!

Flutter plugin

This plugin is essentially written for the mobile applications of the company I'm currently working in. During the app development stage, I was using a geocoder API that returns Hong Kong 1980 Grid System coordinates of Easting and Northing in meters. It was less common compared to the WGS 84 Datum (latitude and longitude) that we usually use. Although there is an API online that converts HK 1980 Grid System coordinates to latitudes and longitudes, I decided to implement the formulas to push a little efficiency for the conversion, and the result is satisfactory. If you need the conversion, you can visit my github for more information!