StockRabbit Screenshot


Whenever attempting to analyze and gain insights from major news events that affect stock performance, it can be difficult to understand what effect that event had on a certain company. Often, websites such as Google Finance will simply provide a list of news articles for the user to filter through, but no mechanism for comprehending the effects of these events.

StockRabbit allows a user to search for a company, and view relevant news articles pertaining to the performance of the company. Clicking on a news article will zoom into the respective location on the stock chart, as well as provide stock price change data during the run-up and response to the event. Based on the change in price, StockRabbit will assign an impact rating to the event, allowing users to easily gain insights about the extent to which the company event/report made an impact.

Source Code Screenshot - URL Shortener

A easy to use, no fuss URL shortening service built on Node, Express, and MongoDB.

Source Code

collabDJ Screenshot


Whenever there's a get-together or a lot of people at home, there's the issue of who gets to control the music. collabDJ allows anyone to text what song they want to listen to to +15186590134, and watch as the top voted songs are automatically selected to be played on a Google Play Music playlist.

Source Code

Web Portfolio Screenshot

Personal Website

I created a simple, responsive portfolio website. The website features a homepage with some basic information and animation, a Projects page which utilizes Bootstrap, a Resume page which also uses Bootstrap, and a Contact page. The website is written in HTML, styled using CSS/Boostrap, and controlled using Nunjucks templates with Node/Express and hosted on Heroku.

Source Code

ASN Scraper Screenshot

ASN Scraper

I created an ASN Scraper, a tool that crawls and scrapes linked country reports from to make a structure mapping each ASN to info about that ASN. When done, the collected data will be outputted to a json file.

ASNs (Autonomous System Numbers) are one of the building blocks of the Internet. For example, ASN 36375 is used by the University of Michigan -

Source Code

SturdyBirdy Screenshot


I designed a web application during MHacks VI with a team of three students. SturdyBirdy helps students to connect with each other for studying and other academic purposes. The application utilizes Python, Flask, SQLAlchemy, HTML, and CSS.

Source Code

Android Screenshot

Basic Android App

I developed a basic first android project containing various layouts, ListView, Fragments, and Intents, in the hopes of learning more Android devlopment in the near future. This is just a test application for me to learn more about various aspects of mobile programming with Java and XML layouts.

Source Code

281 Star Wars Screenshot

EECS 281 - Star Wars

Star Wars Episode VIII: A New Heap was the second project for the course EECS 281 - Data Structures and Algorithms. This program reads in data, a series of battalion deployments, which can be either Sith or Jedi, and contain other info such as Timestamp, General, Planet, Force-Sensitivity, and number of troops. The data can be read in line by line, or by using pseudo-random input that is generated as the program runs. Next, the program matches up the deployments and makes them battle, updating the number of troops, and living battalions as it goes.

Project Starter Code

Letterman Screenshot

EECS 281 - Letterman

Letterman was the first project for the course EECS 281 - Data Structures and Algorithms. This program reads in data from a simple or complex dictionary, and finds a path from a given starting and ending word, using stacks/queues/deques as the primary data structures. Furthermore, there are various flags that can be used on the command line to control the type of output, such as which data structure to use, and whether letters in words can be changed, swapped, shortened, or lengthened to get to the ending word.


EECS 280 - Euchre

Euchre was the fourth project for the course EECS 280 - Programming and Intro Data Structures. This applies classes, vectors, and dynamic types to create automatic and human controlled version of the popular trick-taking card game, Euchre.

Arduino Micro Arcade

EECS 183 - Arduino Micro Arcade

I worked on the Arduino Micro Arcade project with a team of four people, to recrate the popular arcade game, Space Invaders, but with new features such as a boss battle and powerups. The game involved using the Arduino micro-controller to link two sensors (button and potentiometer) to a 16x32 RGB LED matrix board by Adafruit.

Project Description

The Melodic Touch

The Melodic Touch

I worked on this blog, The Melodic Touch, for about a year and a half in high school. The blog covers many sub-genres of electronic music with short reviews for tracks, EPs, and albums that I enjoyed. Furthermore, the blog uses the tumblr platform, though much of the HTML and CSS was designed and written by me.