Projects [2012-present]

Forever a work inprogress, Scoop is like twitter for events. Follow organizations, venues, and event producers to see only the events you want. Built using deep facebook, eventbrite, and ical integration. Uses mongodb, python/flask, angular.js, bootstrap, etc.

Addvocate iPhone app [2014]

This contract project involved building and launching a native Objective-C app for Addvocate, an enterprise social media company. (I’ll upload screenshots later)

HyperLogLogDB [2013]

HyperLogLogDB (github) is used to estimate cardinality of many distinct sets using very low memory. Built and open sourced while at PubNub for use in our analytics pipeline processing terabytes of log data. [2010-2011] offers a dashboard to the real-time city. It aggregates publicly available data from Foursquare, Gowalla, Twitter, Instagram, and Plancast into one unified product showing you what’s happening right now, who is where, the messages they’re sharing and photos they’re uploading. Every minute the system logs, normalizes, and matches 300-500 checkins from all over the world. It’s indexed 150 million checkins at 12 million places from 6 million individual users. The back-end daemon is written in Python, MongoDB and the API and front-end are built on cherrypy supporting a purely ajax interface. The operation is hosted on a distributed Amazon EC2 platform. The iPhone application is developed natively in objective-C.

TweetPulse [2009-2010]

TweetPulse is a real-time “macro-analytics” platform for twitter. It uses the streaming API to aggregate system-wide trends on usage, specifically focusing on links. TweetPulse follows each short url posted on twitter to find the true destination and learn where people are actually linking to. For example, every short url (such as would be resolve and aggregated as the full URL. The most tweeted urls, domains, shortening services, and clients are aggregated on a minute-by-minute granularity. The number of links collected is limited by twitter’s streaming API limit which was 3000 tweets per minute. The statistics would be in near real-time, averaging 5 seconds from the timestamp of the tweet until it became part of the aggregated statistics in the TweetPulse database. Ultimately TweetPulse was shut down due to hardware costs and lack of a clear commercial path.

PyFlickrStreamr [2010]

Flickr doesn’t offer a real streaming API. PyFlickrStreamr provides a continuous, blocking python interface for streaming Flickr photos in near real-time. It is a  wrapper around the Flickr photos.getRecent polling API.


A project from Startup Weekend August 2010. A mobile application for finding and offering ride shares.