Choo Chong Kai
Jeremy

About

As a lifelong tech user, I had spent countless hours on all types of media including, Instagram, Facebook, Youtube etc.. Even before taking my 1st step into programming, I have always had a keen interest in tech, be it the latest phones, tablets or even quirky gadgets that do all sorts of things. It wasn’t until I started programming in school that I really honed in on the reality that even someone like me could take part in this industry and that's how my journey in tech started.

Projects

MiniShell

The Minishell project is designed to replicate key features of the Bash shell, including piping, redirections, and signal handling, alongside all standard Unix shell operations. Its goal is to provide a lightweight, efficient shell environment that supports essential command-line functionalities for file management, process control, and system navigation. By emulating Bash's capabilities, Minishell aims to offer a streamlined alternative for executing Unix commands, with a focus on user experience and compatibility with Unix standards. This project serves as both a technical challenge and a contribution to the open-source community, appealing to those interested in the mechanics of command-line interfaces and the Unix ecosystem.

Cub3D

Cub3D stands as a testament to the intersection of mathematical ingenuity and software development prowess, representing a sophisticated graphical software crafted entirely from the ground up. It is engineered to immerse users in the exploration of a dynamic 3D maze, viewed from a first-person perspective, making navigation a core experience. At the heart of its operation lies the implementation of advanced ray-casting algorithms, which are ingeniously applied to create lifelike three-dimensional projections within a fundamentally two-dimensional framework. This project not only simulates spatial depth and perspective with remarkable accuracy but also wraps the gaming environment in richly textured visuals, enhancing the realism and depth of the virtual labyrinth.

2D car learns to drive with N.E.A.T.

NeuroEvolution of Augmenting Topologies (NEAT) is a genetic algorithm (GA) for the generation of evolving artificial neural networks developed by Kenneth Stanley and Risto Miikkulainen in 2002 while at The University of Texas at Austin.

In the case of a video game, this technique starts off by having a set number of players put into an environment and based on how well they perform in regards to a given fitness function (i.e. Highest score, distance traveled etc.), the best player will have its “brain” copied for the next generation of players to work off of. Essentially, it is a mimicry of the evolution cycle where the genetics of the strongest gets passed on to the next generation making each subsequent generation stronger.

In this project, the car that travels the furthest without crashing would be determined as the strongest and would therefore, have its “genes” passed onto the next generation until a car in a future generation is able to drive through the entire course without crashing.

image of AI identifying materiall of wine bottle

Recyclable material detection model

Did you know that 40% of what goes into recycling bins cannot be recycled. This is because some people throw in items which are unsuitable for recycling.

One proposed solution is to have artificial intelligence play a role by having it differentiate between recyclable and non recyclable items. With this, we will be able to pick out what should be thrown into the recyclable bins and what should be thrown into the garbage bins.

This A.I. model does exactly that.

image of AI identifying materiall of wine bottle

Customer Churn Prediction using A.N.N

Churn rate tells you what portion of your customers leave over a period of time. It's often useful to look at churn by product, region or other granular factors. It is often more expensive to attract new customers compared to retaining already existing ones.

A churn prediction model can help to identify customers who have a high chance of leaving so that businesses can then take steps to prevent that outcome.

This model predicts the churn rate of each customer according to data from a bank that operates in France, Germany and Spain.

Skills

Languages

C

C++

Python

HTML

CSS

Javascript

Libraries

Node.js

Tensorflow

Pytorch

OpenCV

Matplotlib

Numpy

Tools

Docker

MySQL Workbench

Visual Studio Code

Microsoft Visual Studio

Pycharm

Jupyter Notebook