Projects

As I am interested in computer vision and deep learning, much of my time is spent on creating side projects or re-implementing papers. Below you will find my recent projects that I did during my free time outside classes or on vacations which I am very proud of. 😆


An anonymous match-making platform for University of Bristol student during Valentine’s Day 2025.

How does work?

1. Enter their Email

Find their UoB email through Outlook and submit it through Bristol Link. They’ll receive an anonymous notification that someone is interested.

2. Wait for their Response

If they’re interested, they’ll log into Bristol Link and enter an email address of their own choice.

3. Check for a Match

If the emails match, you both receive confirmation and can start your story. If not, you’ll be notified and can try with someone new.


EcoSim

Best ML Project - BrisHack 2025

EcoSim is a Java-based simulation developed during BrisHack 2025. It models the interactions between various animal species and their environment, utilizing procedural terrain generation and intelligent agent behavior.

Contributors

Features

Running the app

Install Java Runtime Environment (JRE)

You can download Java from the official Oracle website.

Install the EcoSim JAR file

Download the pre-built JAR file from the releases section

Then run

java -jar ecosim-1.0.0.jar

Claude-haskell

claude-haskell is an unofficial binding for Anthropic’s Claude API. This project has not been reviewed or published as an official package.

This library provides Haskell functions to interact with the Claude API, including sending text messages, images, pdf documents, listing and retrieving model information, and create message batches. It includes utilities and types for building API requests and handling responses.


🍬Candycombs

Bristol CSS 24-Hour GameJam 2024

A 2D Halloween-themed game featuring various mini-games. Players collect candies by exploring rooms, answering trivia questions, trying their luck at the roulette table, and opening chests to gain power-ups.

Contributors

Installation

Clone the Repository

git clone https://github.com/BRSY1/candycombs.git
cd candycombs

Install dependencies

pip install -r requirements.txt

Launch the game

python3 test.py

Land Cover Segmentation with UNets

Semantic segmentation of the Multi-Source Satellite Imagery for Segmentation Dataset with UNet and ResUNet-a (a variant of ResUNet) in PyTorch.

I incorporated the trained models into a graphical interface using Streamlit. It allows users to randomly generate a image segmentation mask from the test dataset and upload images to the models.

Unfortunitely, the models are not able to generalize well to real-world images due to the limited number of data samples in the dataset.


LeNet-5 From Scratch

During the summer vacation after my foundation year, I took an online course on machine learning which really sparked my interest in deep neural networks. 🤩 Having no internships and nothing else to do, I decided to spend my summer building a handwritten digit recognition app, marking the start of my journey in deep learning. 🥳

Installation

Clone the Repository

git clone https://github.com/T0mLam/LeNet-5-from-scratch.git
cd LeNet-5-from-scratch

Install dependencies

pip install -r requirements.txt

Usage

Launch the app

python -m app

Import and use the modules

Create a new file experiment.py in the root directory

# Use the format 'from modules.{filename} import {module}'

# e.g. import the Adam optimizer
from modules.optimizer import Adam
...
optimizer = Adam(model, lr=0.001)

Run the script

python -m experiment