Resent(i)ment Analysis

React Flask MongoDB Paddle

This project was completed at HackMIT 2017 in collaboration with Zachary Liu, Roland Fong, and Evan Wildenhain. In this project, we trained a neural network using Baidu's Paddle machine learning API to detect political leanings of users through sentiment analysis of their Facebook or Twitter feeds, and then used this information to generate recommendations of news articles that may challenge their beliefs in hope of expanding their exposure to differing opinions and eventually shattering the political echo chambers that we tend to find ourselves in nowadays. We also use the same neural network to determine the political leaning and the amount of incendiary content (i.e. resentment) found in articles, and we choose to offer those with low amounts of such content as recommendations so that the users would not be immediately repulsed by them. We earned a $10,000 dollar award for this project.

Modeling Routing Algebras and the Stable Routing Problem in Cubical Type Theory

Agda RedTT

This is my thesis research project, completed during my undergraduate studies. In this project, I used new techniques the functional programming language Agda, which is based on the newly developed cubical type theory, to encode proofs about the Stable Routing Problem. Agda's type checker can then be used to verify that the logic in the proofs is correct. I was awared the "Outstanding Computer Science Senior Thesis Prize" for this work. I was advised by David Walker and Matthew Weaver.

Web Assistant for Room Draw (WARD)

Flask Pony ORM JQuery Select2

This project was completed as part of the course COS 333 in collaboration with Theodore Ando, Eitan Zlatin, Yafah Edelman, and Alexandra Palocz. The goal of this project was to design a web app that students at our university could use to plan, research, and coordinate room draw with their friends, all in one place. Our app allows users to search among available rooms using fuzzy search and filters, save rooms in favorite lists (which is then synced with their draw groups), compare different rooms side by side, and upload photos and reviews of their own rooms to the central database where other users can view them. We also used a statistical model to predict the likelihood that users would be able to draw into a room of their choice based on historical data.