Pairwise comparisons for Online Reputation Systems (Ongoing)
Joint work with Ramesh Johari

The modern online marketplace relies on reputation systems to identify poor performers and reward excellent ones. However, these systems are often plagued with problems stemming from pressure and various cognitive biases, leading to reputation inflation and noisy ratings. In this work, we argue that marketplaces should adopt a pairwise-comparison based reputation system. Such systems better extract marginal information from each comparison and may be more resistant to cognitive biases.
Collaborative Optimization for Collective Decision-making in Continuous Spaces (Ongoing)
Joint work with Vijay Kamble, Ashish Goel, David Marn, Kamesh Munagala

Many societal decision problems lie in high-dimensional continuous spaces not amenable to the voting techniques common for their discrete or single-dimensional counterparts. These problems are typically discretized before running an election or decided upon through negotiation by representatives. We propose a meta-algorithm called \emph{Iterative Local Voting} for collective decision-making in this setting, in which voters are sequentially sampled and asked to modify a candidate solution within some local neighborhood of its current value, as defined by a ball in some chosen norm. We analyze cases in which this algorithm converges and then describe an experiment in which we test our algorithm for the decision of the U.S. Federal Budget on Mechanical Turk with over 4,000 workers. Link here.
Downlink and Uplink User Association in Dense Next-Generation Wireless Networks
Undergraduate Honors Thesis (Advisor: Prof Jeffrey Andrews)

We study interference concerns in dense, next-generation networks. Where recent papers have demonstrated that interference from small cells will not be prohibitive under multi-slope path loss models, this thesis describes how the use of different path loss models affects the design of such networks. We conclude that the gains realized by downlink biasing and uplink/downlink decoupling are strongly dependent on the path loss model assumed and the density differential between base station tiers, and argue that the gains from uplink/downlink decoupling are reduced by a factor of 50% when optimal biasing for the downlink is used. The thesis is available here.
Multi-Modal, Multi-State, Real-Time Crew State Monitoring System
NASA Glenn Research Center

I helped develop a Real-time, Multi-Modal, Crew State Monitoring System that integrates EEG, GSR, and HRV. I was in charge of overall design, EEG processing, machine learning, and multi-modal integration. I developed robust artifact rejection to detect and remove blinks and other artifacts from the EEG data; EEG feature extraction to represent blocks of data with frequency characteristics, statistical measures, and blink rate; and a machine learning classification system (through Support Vector Machines) that uses the features and characterizes data from a block of time as originating from either a state of rest or a state of concentration. I then integrated EEG and GSR features for joint classification, and we demoed a end-to-end system that collected data from multiple sensors, extracted features, and trained and used the classifier to predict subject state. The system successfully classified 80% of subject states. Technical Report Conference Abstract
Grapevine, Context Aggregation Framework
Research Assistant, Prof Christine Julien

I helped developed Grapevine, a framework for context aware programming. In distributed sensor networks, nodes need to communicate with each other and perform certain tasks. To complete these tasks, they often need to form groups based on certain context – for example their current location, temperature surrounding them, what they are sensing, etc. We built a framework called Grapevine that encapsulates all the tasks related to this communication, – group formation and the efficient sharing of context, even in multi-hop networks. I developed an application to test the framework using a mobile robotic testbed in which the robots seek to detect and surround multiple targets in the area. I first simulated the system using OMNet++ with INET/MANET in C++ and then implemented the system using Player and Java on mobile robots.

Course Projects

Transfer Learning: The Impact of Test Set Word Vectors, with Applications to Political Tweets
Stanford CS224d: Deep Learning for Natural Language Processing

A major difficulty in applying deep learning in novel domains is the expense associated with acquiring sufficient training data. In this work, we extend literature in deep transfer learning by studying the role of initializing the embedding matrix with word vectors from GLoVe on a target dataset before training models with data from another domain. We study transfer learning on variants of four models (2 RNNs, a CNN, and an LSTM) and three datasets. We conclude that 1) the simple idea of initializing word vectors significantly and robustly improves transfer learning performance, 2) cross-domain learning occurs in fewer iterations than in-domain learning, considerably reduces train time, and 3) blending various out-of-domain datasets before training improves transfer learning. We then apply our models to a dataset of over 400k tweets by politicians, classifying sentiment and subjectivity vs. objectivity. This dataset was provided unlabelled, motivating an unsupervised and transfer learning approach. With transfer learning, we achieve reasonable performance on sentiment classification. Final Report
Network Selection for LTE-U & WiFi using Game Theory
Stanford EE 359: Wireless Communications, Prof Andrea Goldsmith

Final Report Code
Project Alexandria: Book Recommendation and Exploration Engine
UT Senior Design, Advisor Prof Constantine Caramanis

A team and I spent a year building a book recommendation & exploration engine that we like to think of it as "Pandora for Books." A user can simply enter a book or author that they like, and the site will display other books and tell them why they're related. Users can then click on books and get more recommendations. We have over a million books in the database. We used natural language processing and machine learning techniques to identify why books are related. The team has partnered with an online book seller, and so users can purchase books directly from the site if they wish to support us. The site is available at
CircuitSnap, Automatic Circuit Solver
UT Austin EE371R: Digital Image and Video Processing, Prof Bovik

We built a tool that, given a picture of a resistor-network circuit from a textbook, overlays the voltage across each resistor and current around each mesh. It was built using Python and OpenCV. Though the code must be made more robust, we plan to develop an Android application. The code can be found on github. Our paper details the project.
Roomba-Sized Autonomous Vehicle Racing
UT Austin 445M: Real-Time Operating Systems, Prof Valvano

For the class capstone project, we built and raced an autonomous roomba sized robot. The team built every component of the robot: the motor circuitry, the operating system, the sensor circuitry, and the PID controller. At the end of the project, we raced against other teams in the class and won the class competition. A video can be found here. I wrote a blog post about what I learned from the project.


UT Library System Android Application

I developed an Android application to interface with the UT Library system. The system securely connected with the online library system. It allowed students to view their checked out books, reserve study rooms, and search the library catalogue. It included an indoors map of each of the libraries on the UT campus. The application is unreleased due to copyright issues. The code is available on github.
UT Austin EE306 Study Guide/Course Packet

I led a team who wrote and published course packet and review guide for Introduction to Computing at UT. The packet serves as a supplement to the textbook and more thoroughly explained important and difficult concepts. It covers transistors, digital logic, binary, assembly language, debugging skills, and intro-level computer architecture. This packet has been made available to the 300 students taking EE306 each semester. A copy is available here.
UT Austin PHL610QB Philosophy of Mind Study Guide

A friend and I wrote and shared a study guide for a Philosophy of Mind course at UT Austin. The packet covers various views of Consciousness, the Problem of Other Minds, the Mind-Body Problem (Dualism, Monism, and Physicalism), and Personal Identity. We gave a lecture based on the packet to our class. A copy is available here.