Personal Projects

PopWords - A simple web app I created to visualize trends in pop music lyrics by year. It uses the Billboard API to get a list of the Hot 100 songs for each year and a separate lyrics service to index the words in each song. The data is retrieved using a Python helper application, which then organizes and stores the data in Amazon SimpleDB. The visualization code is written in JS and uses the protovis library.

League of Legends Database Site - League of Legends is a competitive, online PC game being developed by Riot Games. While I was participating in their closed beta, I decided to create a database of all the in-game items, as a hobby project. I spent some time analyzing the structure of the game's data files, and was able to extract the necessary information from their binary file format. I then constructed a mySQL database to store the information that my datamining script extracted. The actual site was built using PHP/HTML/JS. As a related side project, I used the jQuery JavaScript library to create a 'mastery calculator' that allows you to try out various ways you can configure your character. I eventually ceased development on it and shut down the application when Riot Games released similar tools on their own site.

Work Related Projects

Informational Flash Tour - This is a fairly basic Flash 'tour' applet that loads each frame's textual data from an XML file.

Account Management Interface - This app allowed our SMS marketing customers to login to their accounts on our site and create, update or manage their current marketing campaigns. It was written using PHP to handle the authentication and database manipulation, with SQL queries being sent to our mySQL database on the backend. This site is no longer live.

Background Content Downloading Service - This application was written in order to facilitate the automatic updating of video content from our local news network to our digital advertising screens located in various hair salons around the city. It was written in C# as a Windows service, and runs in the background downloading and updating videos as needed.

Class-Related Projects

Ventrilo Server Status Web App - Ventrilo is a popular client/server application for channel-based voice-over-IP communication between users. This web application allows you to enter the IP/Port of a Ventrilo server and view a list of users that are currently signed on to it. It uses a sqlite client-side database to store the list of IPs and Ports that you have added. Due to the use of webkit JavaScript calls, it currently only works on Mobile Safari, Safari and Chrome. This application was designed to be viewed from an iPhone, but it will work just fine in desktop Safari as well. The application was built using a combination of PHP, JavaScript and HTML/CSS.

Instant Messaging Client - This application is a fairly basic instant messaging client that connects to a faculty-written RIT Computer Science server. It was written in Java and utilizes the popular Model-View-Controllerdesign pattern. The RIT CS server that handled messaging requests for this project is no longer live, so the application will not be able to operate properly if compiled.

Quiz Markup Language - QML is a XML schema that was written for a project. The goal was to create a generic schema that could be used by teachers to create, edit, administer and record quizzes. The two schemas created for this project were quiz.xsd, which provides a generic quiz model and userdata.xsd, which provides a model for storing quiz grades for each student. The example XML quizzes/data provided on the project page were converted into renderable HTML using XSL Transformations.