Projects
Bloo
RAG web app with chat feature (supporting image upload) to answer recycling questions, using knowledge from NEA items and web search (Tavily). Function is similar to ChatGPT where user can upload image and the app answers the user's question based on database information, online website(s), and fall back to ChatGPT if unable to answer user's question.
React
Next
NextUI
Typescript
Python
FastAPI
Firestore
Typesense
LangGraph
Cloud Run
OpenAI
Nomnom
Nomnom is a web app that helps you to find recipes to cook given ingredients. Features include (1) Recipe search: ingredients and recipe name; (2) Recipe recommendation: Based on recipe name and ingredients via full-text index; (3) Nombot: Chat with data from recipes (4) Recipe management: Create your own recipes to share with the community; (5) Favouriting recipes for later viewing
React
Next.js
Typescript
TailwindCSS
NextUI
BlocknoteJS
GraphQL
Neo4j
Langchain
AWS Cognito
AWS S3
AWS Lambda
OpenAI
Anomaly Detection (Machine Learning)
Identify anomalous users from recommender systems dataset (user item ratings). This is best viewed in Google Colab where all the cell outputs are preserved. Performed EDA, feature engineering, hyperparameter tuning and evaluation of models. My approach was to create predictions based on the majority predictions from selected models.
Logistic Regression
KNN Classifier
Random Forest
XGBoost
Neural Network (MLP)
Autoencoder
Isolation Forest
Local Outlier Factor
Carbon Offset Marketplace
A platform for companies any entity to (1) obtain funding for new green projects and (2) further monetise existing green projects that have already began consistently removing CO2 from environment. The focus is primarily on the voluntary market where anyone can fund new projects or support existing projects by buying carbon credits sold by these companies.
React
Python
Flask
Express.js
PostgreSQL
MongoDB
Docker
Temporal
MeiliSearch
Terraform
Stripe
Corporate Pass Booking System
A corporate pass booking system developed as part of a school project for staff to book complementary corporate passes to local attractions. User functionalities include: (1) Viewing pass availability, (2) Booking passes, (3) Reporting of lost passes, (4) Email reminders and notification. Admin functionalities include: (1) Pass management (CRUD), (2) User management (CRUD), and (3) exporting of data.
Vue.js
Typescript
Bootstrap
CSS
Spring Boot
Java
MYSQL
JWT
Docker
Thymeleaf
RecycleSG
A web app to identify item using image recognition API, check whether item is recyclable, and to update NEA's recyclable database items progressively. User functionalities include: (1) Search by text, (2) Search by image, (3) Send recycling request to admin (if item is not in database), (4) Login and earn reward points for each image taken at a recycling bin, (5) Book bulky waste collection. Admin functionalities include: (1) Dashboard of text searches, (2) Manage recycling requests, (3) View recyclable database, (4) Manage collection bookings.
Vue.js
TypeScript
PrimeVue
TailwindCSS
Nuxt.js
Cloud Firestore
Cloud Storage for Firebase
Google Cloud Vision API
Firebase Admin
Work Experience and Education
May 2024 - Present
Full Stack Developer
Bloo (Contract)
May 2023 - Aug 2023
Backend Developer Intern
Alpha Impact
Jul 2021 - Jul 2025 (expected)
Information Systems Undergraduate
Singapore Management University | School of Computing and Information Systems
Mar 2018 - Aug 2018
Asset Transfer Intern
Citibank
Certifications
Interested in what I do?
Let's get in contact!