There are many more projects on my GitHub and Devpost!
Dart (Flutter), Express.js
A mobile app implementation of the party game Cards Against Humanity using a cross platform Flutter app and Express.js backend using websockets.
Javascript
(In progress) A chess AI that uses minimax, alpha-beta pruning, and monte carlo tree search to play chess against a human player. It features several different techniques to evaluate the board state and make decisions.
Javascript
(In progress) A connect 4 neural network that uses reinforcement learning to play connect 4 against a human player. The neural network is trained on user input, allowing the user to experience the improvement.
Python
A two part project that creats images using a diffusion model, and then creates a model using the MNIST dataset. The model is then used to generate specific digits from completely random noise.
Python
This project uses Harris Corners to find features in images and RANSAC to match features between images. It then uses homography to stitch the images together and create a photo mosaic.
Python
This project uses Delaunay triangulation to morph between two images. It uses affine transformations to warp the images and linear interpolation to blend between the two images.
Python
This project uses convolution to get the difference frequencies of an image, allowing us to do things like sharpening, blurring, and edge detection. It also allows us to create hybrid images and multiresolution blending using Gaussian and Laplacian stacks.
Python
A script that aligns three images of the same scene taken with different color filters to create a color image. It uses linear transformations to align the images, a Canny edge detector for preprocessing, and SSIM as the metric to find the color image.
C++
A cloth simulation that uses mass-spring systems to simulate cloth physics. It uses Verlet integration to simulate the physics of the cloth and supports collision detection and texture/shade mapping.
C++
A ray tracer that uses the Möller–Trumbore intersection algorithm to render 3D scenes. It uses a bounding volume hierarchy, importance sampling, Russian Roulette rendering, and adaptive sampling to optimize rendering time.
C++
A mesh renderer builds off of the triangle rasterizer to render 3D models. It uses De Casteljau's algorithm is a method to evaluate Bézier curves and surfaces for smoothing.
C++
A triangle rasterizer that uses barycentric coordinates to fill in triangles with color. It supports perspective correct texture mapping and anti-aliasing.
Dart (Flutter)
A mobile app built to connect home cooks with their community. (Vertical winner of the 2021 HackSC Hackathon)
JavaScript (Processing)
Interactive language learning game for mastering vocabulary and grammar through engaging gameplay.
JavaScript, SQL
Developed and executed a comprehensive security assessment for a file storage website, identifying and addressing potential vulnerabilities such as SQL injection and XSS attacks.
GoLang
A file storage server utilizing various cryptography techniques to ensure integrity. Users can create, update, and delete files, as well as share them with other users.
Python
A program to exploit various flaws in the C programming language and run shell commands on a server. GDB was used to find and debug exploits, and python was used to perform the commands necessary.
Python
Multiple machine learning projects, including a neural network for approximating sin, classifying handwritten digits, and identifying language.
Python
Implementation of value iteration and Q-learning that are applied to a simulated robot controller and a simulated crawler robot. The robot controller is able to navigate a world and figure out an optimal path.
Python
Design and implementation of several search agents to create a version of PacMan. Reflex agents were build for ghosts and Pacman using minimax, expectimax, alpha-beta pruning, and more.
Python
Implementation of a Hidden Markov Model to track ghosts over time and a joint particle filter to track multiple ghosts simultaneously. Variable elimination, exact inference, approximate inference, and more were used to optimize the problem.
Python
Implementation of several search engines in order to solve a PacMan style maze. The search engines include DFS, BFS, UCS, A* Search, and Greedy Search.
Java
Implementation of a Linked List Deque and a Array List Deque, which are then used to implement a sound synthesizer capable of playing music from Guitar Hero
Java
A browser based tool for exploring the history of word usage in English texts.
Java
A game that allows the user to explore procedurally generated mazes. It offers saving and loading of worlds, as well as music that is too loud.
Python
A python script for interpreting Scheme, a dialect of Lisp. It supports the core features of Scheme, including recursion, first-class functions, and lexical scoping.