Autolab is an autograding tool that allows instructors to set up, distribute and grade programmatic assignments. As a backend architect, I work on everything ranging from Operations to Feature Development. Key milestones include adding image support, making a RESTful API of the autograding platform, Tango, and open-sourcing Autolab.
Autolab is used at Carnegie Mellon University by departments like Computer Science, Machine Learning and Electrical and Computer Engineering.
RaceKeeper is a simple race-keeping tool for runners. It also acts as a motivational tool by allowing friends to compete over longer periods of time, without having to be together. The app gets activity data from RunKeeper. RaceKeeper is a product of the #ECEBROS.November, 2014
Hide & Sneak is an implementation of steganography for webpages. Steganography, simply put, is concealing one message within another message. H&S consists of two components: a proxy server and a bookmarklet. Users submit an image that they want concealed to our proxy server. The proxy server returns a link that the users can share. Any person who visits that link can decode the message within the webpage through the bookmarklet.
The encoding algorithm used by H&S promises two things: no change in web page source code and no change in the total size of the web page. It maintains this promise by altering binaries within a webpage such that the change is invisible to the naked eye.
DynamoDB is a hosted, distributed, persistent hash table offered as a NoSQL service by Amazon Web Services. Users provision I/O per table and are charged accordingly. As an intern, I worked on a local version of DynamoDB that allowed users to test their queries without offsetting their provisioned I/O.
During my time at DynamoDB, I gained insight on real-world distributed systems and the design decisions that revolve around them. I also became familiar with software development cycles on a large project with a small team of 4 engineers.
Pronounced "Road Tripper", is an app I made to keep my friends and family updated of my whereabouts while I'm on a road trip. The idea came about when I was driving to the hackathon in Princeton and I had to periodically update my mother of location by texting, which was both inaccurate and arduous. I started wishing for a way to automate this process and so I decided to build the solution at the hackathon. The app was featured on Tech Crunch, which was a pleasant surprise!April, 2013
Elasticache is a hosted, distributed, in-memory cache that allows users to set up and manage Memcache and Redis clusters with just the click of a button. Elasticache is one of the many cloud services provided by Amazon Web Services. As an intern, I worked on a feature that optimized users' cache clusters based on their usage patterns and network traffic.Summer 2013
Flaggy is an iPhone app for location-sharing. This project was the result of a Special Topics class 15-399: Tech Start-Up Lab, where a team of three students built a product and tried to get users over the course of a semester. By the end of the semester, Flaggy was submitted to the Apple App Store and had over 50 downloads and over 1,500 check-ins.
As the only back-end developer of Flaggy, I developed the notification system that sent push-notifications to iPhones and Facebook and sent emails and texts to users. I also wrote the relational schema, managed the database and wrote a HTTP CRUD layer on the database for the iPhone app to use.
Huffman coding is a lossless data compression algorithm that makes use of character frequencies. This was the first data compression algorithm that I ever learned and I found it pretty interesting. At the time, I was also learning about functional programming and had a general interest in web technologies. Hence, in my free time, I decided to write my first web app in Clojure that demonstrated Huffman coding. Have fun!June, 2012