Featured Projects
Filter Skills and Experiences
Professional Experience
Internships
Columbia University IRT Lab Undergraduate Research Assistant
Duration: January 2023 - August 2023

As an undergraduate junior, I served as an Undergraduate Research Assistant to Columbia's Internet Real Time (IRT) Lab under Professor Henning Schulzrinne.
My work centered around researching how to program rules for a firewall that protects Internet of Things (IoT) devices from malicous traffic. This firewall was programmed in the P4 language, adding intelligence to the forwarding of packets in the dataplane of network traffic for these devices.
Tags: Cybersecurity Networks Wireshark P4 Python Git Linux IoT Firewall Research Columbia
Yale University NLP Lab Undergraduate Research Assistant
Duration: May 2023 - August 2023

As a rising undergraduate senior, I served as an Undergraduate Research Assistant to Yale's Natural Language Processing (NLP) Lab under Professor Arman Cohan.
As a research assistant, I collaborated with researchers to learn about the field of NLP and constructed a web demo to display the results of the lab's paper L2CEval.
Tags: Frontend Python Streamlit Webapp Natural Language Processing Data-visualization Research Teamwork Yale
Accelerate Program Intern
Duration: June 2022 - August 2022

During this IBM summer program, I learned the foundations of software engineering, industry standards and new methodologies such as the Agile Word Method, Cloud Native Development and Software Development Lifecycle.
Tags: Cybersecurity Agile Cloud Git HTML CSS JavaScript React Teamwork IBM
Software Engineering Projects
Frontend Projects
Christopher's Portfolio Website
Completion: August 2024
Successfully deployed Full Stack website application that acts as a clear representation of my experiences, projects, and credentials.
Tags: Frontend jQuery Jinja HTML CSS Responsive-Design JavaScript Twitter-bootstrap Python UI-Design Full Stack Cloud Deployed Mobile
EdTech: How to Identify Pitches in Baseball
Completion: May 2024
Interactive Web Application that teaches user how to identify baseball pitch types.
This group project showcases a full stack web application using a Flask framework, HTML, CSS, and Javascript.
Tags: Frontend jQuery Flask HTML CSS JavaScript Twitter-bootstrap Python UI-Design Teamwork Columbia
Fantasy Football Website
Completion: March 2024
Tags: Frontend jQuery Flask HTML CSS JavaScript Ajax Search Twitter-bootstrap Independent Columbia
LC2Eval Web Demo
Completion: August 2023
This project served as the first iteration of the companion website for the Yale Natural Language Processing (NLP) Lab's paper 'LC2Eval.'
Using the Python Streamlit library, this website allowed for the paper's datasets and findings to be clearly visualized online.
Tags: Frontend Python Streamlit Webapp Natural Language Processing Deployed Data-visualization Research Teamwork Yale
Backend Projects
NFL Cloud Native Application
Completion: December 2023

This cloud-based application NFL FanZone is built and designed for NFL fans' casual interaction and NFL-related information lookup, allowing users to query player/coach statistics and view player news.
See PDF for full Project Report.
Tags: Python Backend Database Full Stack AWS GCP App-Engine Lambda S3 Agile FAST API Microservices Git Cloud Middleware Rest API Flask Flask-Alqemy Docker IaaS Data-visualization Deployed Teamwork Columbia
NYC Parking Ticket Data Querying
Completion: November 2020

This program ingests parking ticket data taken from nyc.gov in Parking.csv file, in order to find different statistics of parking tickets
Tags: Python Backend Pandas Statistics Data-visualization Columbia
Projects in Data Structures
Completion: August 2021

Three smaller programs are implemented:
A stack in Java using an array
A queue in Java using two stacks
A counter in Java that keeps track of the K best objects
Tags: Java Object Oriented Programming Data Structures Backend Columbia
Video Poker in Java
Completion: April 2021

This program allows for an interactive game of video poker.
Using Command Line Inputs, the user can choose to keep or trade in cards in their hand, place a bet, and win/lose credits based on the rank of their hand.
Tags: Java Object Oriented Programming Backend Columbia
Database Projects
Relational Database and Flask Application for NFL Player Querying
Completion: May 2023

Database and associated web application to allow NFL fans to track the statistics, status, and biographical information of each player in the NFL.
The current implementation of this project includes information for all the NFL teams and top players in the 2023 NFL season.
See PDF for full Project Report.
Tags: Database Frontend HTML CSS Flask Json SQL PostgreSQL mySQL Data-visualization Teamwork Columbia
Mobile Projects
Stay Tuned!
Completion: Soon!

Tags:
Machine Learning Projects
Natural Language Processing Projects
Finetuning BERT for Semantic Role Labeling
Completion: December 2023

This project trains and evaluates a PropBank-style Semantic Role Labeling (SRL) system by finetuning a pretrained BERT model.
BERT will be used to compute contextualized token represententations and then will be fine-tuned on the SRL task.
Tags: Natural Language Processing Python Neural Network HuggingFace PyTorch Finetuning Columbia
BERT Lexical Substitution
Completion: November 2023

This program solves a lexical substitution task (finding correct synonyms given a sentence), using, WordNet, pre-trained Word2Vec embeddings, and BERT.
Tags: Natural Language Processing Python HuggingFace Rest API Word2Vec Neural Network TensorFlow Keras Prompting Columbia
Neural Network Dependency Parser
Completion: October 2023

This model is a trained feed-forward neural network that predicts the transitions of an arc-standard dependency parser
Tags: Natural Language Processing Python Neural Network TensorFlow Keras Columbia
Robotics Projects
Computer Vision Projects
Identifying Robot Collisions using Convolution Neural Network
Completion: May 2024

Using a Convolution Neural Network, images are able to fed into a model, and output whether the Kuka robot collides with obstacles or not.
Tags: Robotics Computer Vision Finetuning Transfer Learning Pybullet Python PyTorch Columbia
Classical Machine Learning Projects
Reinforcement Learning-Frozen Lakes Toy Example
Completion: March 2023

Demonstration of Reinforcement Learning.
Man walks around ice grid, avoiding holes to reach goal.
By utilizing reinforcement learning, the man is able to learn how to properly navigate to the goal without falling into holes.
Tags: Machine Learning Python Columbia
Cyber Security Projects
Computer Networks Projects
P4 IoT Firewall
Completion: August 2023

P4 Firewall from research in Columbia's Internet Real Time Lab: a white-list only firewall of Internet of Things (IoT) Devices programmed in P4.
This firewall is meant to prevent malicious traffic from entering IoT device networks (smart cameras, smart doorbells, smart light bulbs).
Tags: Research P4 Python Networks Intelligence Firewall Wireshark IoT Columbia
Domain Name System Resolver
Completion: March 2022

This Domain Name System (DNS) Resolver server allows for a domain name to be inputted, and will output the ip address of this domain by querying other domain servers.
This server follows RFC 1035
Tags: Networks Python Json Wireshark Columbia
Distance Vector Protcol RIPv2
Completion: May 2022

This program implements the Distance Vector Protcol 'Routing Information Protocol' (RIPv2), which allows for packets to be routed to their destination using the shortest possible path.
This program follows RFC 2453
Tags: Networks Python Json Mininet Wireshark Columbia
HTTP Proxy Webserver
Completion: March 2022

This program implements a proxy web server.
The web proxy accepts incoming HTTP requests from the browser and relays it to the desired web site, thus is both an HTTP server and a client.
Tags: Networks Python Wireshark Columbia
Transmission Control Protocol Lite
Completion: March 2022

This program implements a lite version of the Transmission Control Protocol (TCP), which is built using User Datagram Protocol (UDP).
This protocol allows for information to be exchanged between a client and server quickly and without information loss.
This program follows RFC 793
Tags: Networks Python Wireshark Columbia
Finance and Statistics Projects
Finance Projects
Stock Option Pricing using Monte Carlo Simulation
Completion: November 2020

This project contains a variety of programs that use Monte Carlo Simulations to price various call options such as Asian Call Options, Barrier Call Options and European Call Options with the Black Scholes Merton Formula.
Tags: Python Backend Pandas Finance Statistics Data-visualization Columbia
Statistics Projects
Leveraging Statistics to Understand How to Build a Playoff Baseball Team
Completion: December 2023

This project seeks to explore the underlying team statistics that best can predict a team's likelihood of reaching the MLB playoffs.
See PDF for project report.