Project archive

Every project, explained simply.

Enterprise data at Infineon, machine learning at TM R&D and AirAsia, university research and live websites. Each card says the problem, what I did and the result.

LiveClient website

Homestay Shimah Jay

Bilingual website for eight family homestays in Melaka with galleries, house pages and WhatsApp enquiries.

LiveClient website

Kambing Golek Melaka Official

Catering website with event packages, food gallery, reviews and a form that prepares a WhatsApp enquiry.

LivePersonal project

Digital Invitation & RSVP Maker

Mobile-first wedding invitation with RSVP, maps, countdown and a Live Gallery photo wall for guests.

2025 – 2026Data engineering

Enterprise Master Data Migration & Cleansing

Infineon Technologies · Master Data Developer

The problem

Engineering master data is spread across many system classes and worldwide sites. The same part could exist as several slightly different records, which breaks reports and creates rework for teams that need one single truth.

What I did

Built PL/SQL that consolidates those records: staging tables hold candidate duplicates, a MERGE procedure keeps one “golden” record and repoints the rest, and every change is logged so it can be traced. Around it I refined the ETL and data-warehouse flow with validation before load and clear error handling, moved repeat ticket work into KNIME workflows, and supported SAP-side migration and reporting. Releases went out weekly through Jenkins across DEV, INT and PROD.

30%leaner workflow (SAP projects)
50%less time on repeat tickets
Weeklyreleases, 3 environments

Stack

  • Oracle PL/SQL
  • Oracle DB
  • ETL
  • Data warehouse
  • SAP
  • KNIME
  • Jenkins
  • Azure DevOps
  • C# .NET

Note

Internal enterprise system, so there are no screenshots. The description explains the approach instead.

2024 – 2025Machine learning · Data

Network Fault & Internet Speed Prediction

TM Research & Development · Data Science Intern

The problem

Network faults were handled after customers complained. The data to see problems coming already existed (access network logs, termination logs, CTT records, speed tests) but it was too messy to trust.

What I did

Cleaned and reconciled thousands of records across the sources, then built Random Forest Regression and LSTM time-series models to predict speed drops and faults. Results went into Power BI and Python dashboards reviewed weekly. I also automated data extraction with Selenium Robot Framework and supported the OracleDB to MariaDB migration.

80%+prediction accuracy
90%better data quality
60%less manual reporting

Stack

  • Python
  • LSTM
  • Random Forest
  • Pandas
  • Power BI
  • Seaborn
  • Selenium
  • OracleDB
  • MariaDB

Note

Internal telco data, so there are no screenshots.

2025Machine learning

In-Flight Food Waste Prediction

AirAsia · Khazanah K-Youth Employment Programme

The problem

Load too much food onto a flight and it is thrown away; load too little and passengers go without. That error repeats across hundreds of flights a day.

What I did

Worked with the data science team on XGBoost models that forecast waste per flight: cleaning historic catering data, engineering features such as route, time and seasonality, and tuning hyperparameters. Data tracking, validation and monitoring ran on Google Cloud Platform.

80%+model accuracy
GCPtracked, validated pipeline
3 monthsindustry apprenticeship

Stack

  • Python
  • XGBoost
  • Pandas
  • Scikit-Learn
  • Google Cloud
  • Feature engineering

Note

Internal company data, so there are no screenshots.

2024 – 2025Deep learning · Web app

Breast Cancer Prediction using HoverNet

UKM · Final Year Project

The problem

Reading histopathology slides means counting and classifying cell nuclei by eye: slow, tiring and inconsistent. A model can give the pathologist a fast second opinion.

What I did

Implemented the HoverNet framework, which predicts distance maps alongside segmentation so touching nuclei can be separated, trained on the PanNuke dataset. I wrapped it in a Django web app where a user uploads a slide image and gets an overlay and counts per class, with results stored in MySQL.

2-in-1segmentation + classification
Web-basedno ML setup for users
First Classdegree outcome

Stack

  • Python
  • PyTorch
  • HoverNet
  • Django
  • MySQL
  • Bootstrap
  • Jupyter
2024Computer vision

Real-Time Face Mask Detection (YOLOv8 & OpenCV)

Personal project

The problem

A simple “mask / no mask” check misses the most common case: a mask worn under the nose. The model needed three classes and had to run live.

What I did

Labelled and augmented the dataset in LabelImg and Roboflow, then trained YOLOv8 for three classes: worn correctly, worn incorrectly and not worn. OpenCV reads the webcam and draws colour-coded boxes, and a Flask app serves it in the browser.

0.905mAP@50
0.898precision
0.848recall

Stack

  • YOLOv8
  • Ultralytics
  • OpenCV
  • Flask
  • Roboflow
  • LabelImg
2024Web application

Angular & REST API Product Platform

Full-stack build · authentication and CRUD

The problem

A three-screen app that had to prove the fundamentals with a real API: token login, protected routes, product management and a detail view driven by asynchronous queries.

What I did

The login stores a bearer token and blocks protected routes without it. The home screen lists products with an add/edit modal whose submit button stays disabled until the form is valid. The detail screen shows a paginated table with date filters that update asynchronously.

3route-guarded screens
JWTbearer token flow
Asyncpaged, filtered queries

Stack

  • Angular 18
  • TypeScript
  • RxJS
  • REST API
  • JWT
  • GitLab
2023Natural language processing

Tweet Sentiment Classification

University modelling project

The problem

Classify tweets as positive, negative or neutral, and find out which classical model works best on short, noisy text.

What I did

Built the preprocessing chain (cleaning, tokenisation, stop words, vectorisation), then trained Logistic Regression, Naive Bayes and Support Vector Machines on identical splits for a fair comparison.

3models compared
3-classpositive / negative / neutral
Fairidentical train/test splits

Stack

  • Python
  • Scikit-Learn
  • NLTK
  • Pandas
  • Jupyter
2023Unsupervised learning

Customer Segmentation with K-Means

University data analysis project

The problem

“All customers” is not a useful marketing target. The task was to group mall customers by annual income and spending score.

What I did

Explored the data first, used the elbow method to choose the number of clusters, ran K-Means and described each segment in plain language: who they are, what they spend and what to offer them.

Elbowmethod to choose k
High-valuesegments identified
Plainlanguage summaries

Stack

  • Python
  • Scikit-Learn
  • Pandas
  • Matplotlib
  • Seaborn
2023Web system

Product Catalog Web System

University web development project · multi-role system

The problem

A drawing-tools retailer needed more than a product list: staff, supervisors and customers use the same catalogue but should not see or do the same things.

What I did

Built a PHP and MySQL system with three permission levels (Admin, Supervisor, User). Admins manage products with image upload, accounts can be registered and updated, and purchases create an invoice. Responsive Bootstrap front end, tested on XAMPP and deployed on the UKM server.

3user roles
CRUDplus image upload
Invoicesfor each purchase

Stack

  • PHP
  • MySQL
  • JavaScript
  • Bootstrap
  • phpMyAdmin
  • XAMPP
2022Desktop application

Drawing Art Tools: Desktop Application

University project · VB.NET with database integration

The problem

A shop counter needs software that works without internet: add a product, take an order, change it and print a report.

What I did

Built a Windows application in Visual Studio 2019 with Visual Basic .NET, backed by Microsoft Access and MySQL. Full create, update and delete for products and orders, live reads and writes between forms and the database, and a report screen.

Offlineno internet needed
2databases: Access + MySQL
Reportsfor the shop owner

Stack

  • VB.NET
  • Visual Studio 2019
  • MS Access
  • MySQL
  • SQL
2026Vanilla JavaScript

This Portfolio Website

Personal project · hand-written HTML, CSS and JavaScript

Rebuilt in October 2026 to be light and friendly for every visitor: no framework, no animation libraries and no chatbot, with light/dark themes, a larger-text button and WebP images.

Stack

  • Vanilla JavaScript
  • HTML5
  • CSS3
  • GitHub Pages