Implemented an object-oriented VM that can read assembly code. Includes memory, registers, stack, function calls, jumps and an ALU. This project is for the Synacor Challenge
Created a retro word game (limited to 256x256 pixels!) in Python, Pyxel. The inspiration was from a Cambridge article on how we are able contextually understand mispelled words, as long as the first and last letters remained in place.
Created a light-detection system to retrieve data on room occupancy rates. Finds available study spaces in school. I worked on the RaspberryPi module, using CoAP (Constrained Application Protocol). CoAP is a lightweight http-like protocol for use in IoT devices with limited bandwidth (this will soon be resovled with 5G).
Created a primitive traceroute in TCP. It can tell you which routers your data goes through before reaching your destination.
Intellex Search Engine
A weighted tf-idf information retrieval system (Repository)
Created a search system for legal documents (data by Intellex). I worked on the indexing portion, as well as creating APIs to access the indexed data. Having worked with the legal data let me understand the sheer complexity of legal information retrieval. Different court systems, different document formats and different terminology used are just some problems plaguing the legal industry.
semacrawl
Multi-threaded web crawler using semaphores (Repository)
A simple database-free web crawler using semaphores.
Trained a pose estimator in Tensorflow/ Keras using Transfer Learning and the ensemble method. Won the 6th place in the competition (Merit Award), out of 50+ teams
This project was morphed from a 10kLoC address book application in Java. The system has an MVC architecture. I created a login system using SHA256 hash to protect the password. This feature involve creating a new command, a login manager, and password storage.
Healthcare Queuing Application
Android App to manage queues at NUS UHC (Repository)
Created an android prototype that allows NUS students to take a queue number without being physically present at the clinic. The project is now outdated as we integrated to the NUS system using the old IVLE LAPI. NUS has since migrated to LumiNUS.