Burlington, VT — June 2013
After spending several hours marking each and every song in my Rdio collection for offline availability, I decided there must be a better way — and now there is! This script adds desirable (and unfortunately lacking) functionality to the Rdio web app including being able to mark or unmark an entire collection for offline availability in a single click. Additionally, the script lets the user add the currently playing song to his or her collection in a single click. The script works as a bookmarklet and is written entirely in JavaScript.
Providence, RI — Spring 2013
In 1846, en route to California, the Donner Party became snowbound in the mountains for weeks without food. Amid hardship and escalating tensions, Eliza Donner seeks comfort from the handsome and mysterious James Reed, Jr., despite his appetite for secrecy. In time, the two sweethearts hunger for each other, but what is it they crave?

Donner Party: The Musical! is a retelling of the classic American folktale in the form of a 30-minute musical comedy. I composed the music for the show and my friend Jonah Kagan wrote the lyrics. Originally written for and performed on stage, the show was adapted into a short film by Andrew Migliori and accepted into the Rhode Island International Film Festival.
Dropboxer Facial Recognition
Dropbox — San Francisco, CA — January 2013
With Dropbox growing quickly, remembering the names of coworkers was becoming a challenge. For Dropbox's winter hack week, my good friend and future coworker Adam Cook and I developed a facial recognition app to address this problem. Any face captured by our app on an Android smartphone was automatically cropped and transmitted to a central server. The server first reformatted the input face (coloring, rotation, alignment, and scaling) to maximize the probability of a match and then ran facial recognition algorithms. After finding a match, the server responded to the request with the name, start date, and team of the face in question. The Android app was written in Java and the server was written in Python using the computer vision library OpenCV.
Dropbox — San Francisco, CA — July 2012
For our first Dropbox hack week, Adam Cook and I decided to take Dropbox beyond cloud storage and into the stratospere! We launched a high altitude helium balloon attached with two Android smartphones: one programmed to take periodic photos, and the other to record video of the entire flight. At 100,000 feet above the ground, these photos and videos captured the curvature of the Earth! We equipped the balloon with an Internet connection using a long-range Ubiquiti WiFi satellite system, allowing us to use Dropbox’s Camera Uploads feature to beam photos from our balloon back to "mission control" in real-time. The project was awarded Dropbox's "Sick Nasty" award. Read the full blog post.
Burlington, VT — 2007 - 2012
Having designed web sites for other organizations for many years, I decided to create my own business in March of my sophomore year in high school. I launched The Cash Grab, a site which paid users to complete surveys and review trial products. In my business model, advertisers paid The Cash Grab for sending them prospective customers. After taking my share of the commission, I passed a percentage on to the user as an initial incentive. When I closed the doors of The Cash Grab in late 2012, over 23,000 users had joined, completing over 52,000 surveys and trials valued at nearly $300,000. The Cash Grab was written in PHP with a MySQL backend.
Brown University — Providence, RI — Fall 2011
Co-developed with my good friend and classmate Matt Nichols, this was our final project for CS123 (Introduction to Computer Graphics) at Brown. We use WebGL with Evan Wallace's lightgl.js to render a fireworks show over procedurally generated hills, all reflected in real-time over a lake. You can fly through the scene, moving with WASD and looking by dragging your mouse. Since WebGL is not yet supported in all browsers, we recommend Google Chrome for viewing this demo.
Ray Tracer
Brown University — Providence, RI — Fall 2011
As part of CS123 (Introduction to Computer Graphics), I developed a ray tracer which proved to be one of the most challenging and rewarding projects during my coursework at Brown. Ray tracing is a technique for generating an image by tracing the paths of light particles as they encounter virtual objects, reflecting, refracting, and scattering in a realistic manner. The assignment was written in C++.
Brown University — Providence, RI — Fall 2011
Sparketplace was a web app I developed during an independent study along with Matt Nichols, Adam Cook, and Jessica Liu. The app was devised as an online marketplace emphasizing local trading, similar to Craigslist but with an overhauled feedback system to emphasize accountability and trust. The backend was written in Java using the Play! framework and using MySQL as a backend.
TripAdvisor — Boston, MA — Summer 2011
During a hack week at the end of my internship at TripAdvisor, I developed a visualization tool to demonstrate TripAdvisor's incredibly international audience. By translating TripAdvisor's records on users, hotels, restaurants, and more into latitude and longitude coordinates, I was able to graph the entire world on an HTML5 canvas. The visualization tool not only rendered a pretty image but also revealed trends and emerging markets for the TripAdvisor team to investigate further. In addition to the preprocessed data rendering, I processed streaming data to visualize real-time site activity. The project was awarded as one of the finest projects of the week.
Brown University — Providence, RI — Spring 2011
Ballsy is a two-dimensional physics puzzle game in which the user must navigate Ballsy, a colorful beach ball, along his quest in search of his best friend, the sand pail. Sporting a grappling hook that allows him to swing from surface to surface, Ballsy's adventures through treacherous levels of deadly rectangles and irregular polygons make for quite the brain teaser. Enjoy the exciting, built-in levels or create your own with the fully featured level editor! I developed the game along with Matt Nichols, Adam Cook, and Jessica Liu as the final project of CS32 (Introduction to Software Engineering). We used Box2D for our physics engine and Processing for graphics. While a download is currently unavailable, we're in the planning stages of rewriting Ballsy for the web — so stay tuned!
SensorCloud Visualizer
MicroStrain — Williston, VT — Summer 2010
MicroStrain’s SensorCloud™ is a unique sensor data storage, visualization and remote management platform that leverages powerful cloud computing technologies to provide excellent data scalability, rapid visualization, and user programmable analysis. As an intern at MicroStrain, I had the pleasure of converting the existing Flash visualization tool into an all JavaScript/HTML5 web app. The visualizer was designed to work seamlessly on all platforms and handle mobile gestures on smartphones and the Apple iPad.
Megasites Design
Burlington, VT — 2004 - 2008
Megasites Design was a professional web design, graphic development, and marketing firm I founded while still in middle school. The firm operated for several years, creating websites for businesses throughout the country. Clients ranged from local theater groups and fraternities to a Cambodian tour guide and national law firms.