01
Dynamic, results-driven recent graduate with a robust academic background in Computer Science and Mathematics.
02
Excel at tackling intricate technical challenges and thrive in high-stakes scenarios, driven by a genuine passion for critical problem-solving.
03
Hands-on experience in full-stack development and a keen interest in cutting-edge technologies like big data, blockchain, and machine learning.
A cryptocurrency project which was the first generative art and music collection on Solana, creating 4444 Band Member NFTs playing either guitar, bass, drums, or keys. Developed the project's main website, as well as two full stack services: a launchpad allowing music artists to mint NFTs from their music, and a studio allowing owners of the 4444 band members to mix their NFTs into a single Band NFT.
Next.js
Node.js
Cryptocurrency
Javascript
CSS
TailwindCSS
A graphics program which utilizes OpenGL, SDL, GLEW, and GLM to render models and textures. It features transformation controls for models and views, lighting manipulation, and implements normal mapping and skybox rendering. It allows loading various models and textures and offers interactive transformations and lighting adjustments.
C++
OpenGL
Graphics
Shaders
A program designed to create a video from a massive input image by recording the movement of a smaller window across the image, and outputting the window's view to a frame at each timestep (with additional options of inverting the pixel colors, or reversing the frames). These frames form a sequence suitable for video creation using tools like FFMPEG.
C++
Image Processing
FFMPEG
A image processor which utilizes PGM images to extract connected components and output them in the form of a binary image. It allows users to define minimum and maximum component sizes while setting threshold values for segmentation. It employs algorithms to identify and isolate cohesive regions based on user-defined criteria, aiding in comprehensive image analysis and processing.
C++
Image Processing
Unit Testing
3 RL agents trained via Q-Learning which had 3 seperate objectives: to find 1 package, 3 packages (in any order) and 3 packages (in the order RGB) via the shortest path. Each agent has it's own reward function and various other hyperparameters.
Python
Q-Learning
ML
RL
Artificial Neural Network and Convolutional Neural Network classifiers for the MNIST handwritten digit dataset. Their performance with various parameters and hyperparameters is evaluated and compared.
Python
PyTorch
ML
ANN
CNN
A comprehensive X-ray image processor, focussed on extracting a hand from an X-ray. The X-ray image goes through a series of steps in a pipeline, including preprocessing, extraction, component analysis and realignment. A web application is also implemented to provide a user friendly interface for the X-ray processor.
Python
OpenCV
Numpy
HTML
CSS
JavaScript
A network application that can connect two or more users running seperate client applications through a single server. The application uses UDP on the transport layer and its own protocol on the application layer. State such as messages, groups and chats are persisted using a database.
Python
Tkinter
SQL
Networks
A simple Java game where the player must enter words in a text field before they hit the bottom of the screen. Each word's animation/state is independently controlled by a single thread, and has a random speed. Longer words result in higher scores.
Java
Java Swing
Concurrency
Parallelism
The median filter, a fundamental tool in signal processing and image analysis, serves to reduce noise while preserving essential features within a dataset. This project implemented and explored the efficiency and performance of serial and parallel implementations of the median filter applied to one-dimensional data.
Java
Parallelism
Concurrency