Brendan Nee


My company BlinkTag Inc also has a list of projects, nearly all of which I participated in.


Walking tours of any city, generated on the fly asks the user for a location and then generates a walking tour that visits up to 8 points of interest nearby. Walksy works for any point in the United States and Canada. If the start point is within San Francisco, the points of interest come from a curated database that I created powered by Google fusion tables. Its based on my personal favorite items that I would include in a walking tour. If the start point is elsewhere, the Google places API is queried to find interesting nearby points.
The points are then passed to Google Maps API as waypoints and an optimized walking route is displayed. Pictures for points of interest are pulled from the Yelp API along with ratings. Turn by turn directions are available as well as Google Streetview for each stop. Walksy was built for the Google I/O Last Call Maps/Geo Round 2 Challenge in 20 hours and was selected as a winning entry. Walksy is optimized for mobile devices.
Visit Walksy | Walksy Source

Realtime BART Display

Realtime Transit Display

One way to make transit more attractive to choice riders is to supply better transit information. I built a simple, attractive site that lets users create a realtime arrival display for any BART station using BART’s API. It shows realtime arrival information for all lines serving that station, BART service announcements, the time and current weather. It also has the option to show retro BART images as a background.
It can be used by anyone to create a permanent, realtime transit display. Coffee shops, offices, and stores near BART stations might find this a useful way to inform their customers of how much time is left until their train. Visit BART Realtime Display | Source
I also created a version with MUNI’s realtime API customized for my home which is mounted to the wall of my kitchen.
BART + MUNI Display


Python Geo Data Script

I packaged up a python script that quickly downloads spatial data for a specified city, county or coordinate within the US. It downloads data from the US Census, SimpleGeo and OpenStreetMap, unpacks it and places it into a nicely named folder. Its a useful script to have on hand for anyone who routinely works with geo data as it saves many steps compared to browsing the census website for the required data.
Download getgeo


Indonesian Census Website

Through a project sponsored by USAID, I worked with a team in Indonesia to build visualizations of newly collected census data for the city of Solo, Indonesia. It was the first time that fine-grained data had been collected in this city of half a millon people. I worked with the team to analyze and publish the data via bilingual interactive maps, downloads, charts and tables. This allowed citizens who participate in musrenbang to access information about how their neighborhood is developing.
I created a template for generating pages for 50 neighborhoods which feature maps, pictures and charts. The project has been sucessful in getting this information in the hands of citizens, traffic continues to increase. Solo Kota Kita has been featured in Good Magazine and in Design Observer.

Where is BART

Transit Location Visualization

BART’s realtime API doesn’t provide realtime location of trains, but using estimated arrival times and known travel times between stops I developed a realtime map visualization of all trains in the BART system. Trains are color coded by destination, and data is refreshed every 15 seconds. The map assumes normal operating conditions – any delays in the BART system will cause the estimated positions on the map to be inaccurate.
Visit WhereisBART | WhereisBART Source


Desert Transit Service Provider

After purchasing a retired, articulated MUNI bus (a bendy bus) on eBay, I managed the process of restoring it into a serviceable condition, crossing the Sierras and operating a single-vehicle transit agengy for seven days. The exterior was left unchanged and a series of ribs was built around the 60 foot vehicle and it was transformed into a glowing caterpillar complete with disco ball antennae, Arduino powered LED ground effects and an internal sound system. And lasers, lots of lasers.
Operations in the desert were conducted for seven days, twelve hours a day. The playapillar required a crew of three to operate as visiblity from within he caterpillar was limited and the three doors each needed a crew member to assist passengers boarding and alighting.
Ride the Playapillar


Trip Generation Rate Selection Engine is a 7-step visual guide that helps a user select their place type based on density, zoning, transit, street grid, sidewalk, bicycle and parking infrastructure information. It can be hard to find trip generation rates that match the placetype and landuse for a specific project. Using Arup‘s large database of trip generation rates, I built a web interface to search, filter and export rates and meta data about the context in which the trip generation rate was developed. Because its not always apparent what placetype a specific location would be categorized into, I created a “placetype wizard” that helps you decide on a placetype by asking a few simple questions.


Bicycle Routing Engine is an innovative and open bike mapping system specially designed to find flat, safe, and fast bike routes anywhere in the SF Bay Area. The routing engine is based on graphserver, an open-source python multimodal trip planner. The underlying map data is from OpenStreetMap, with elevation data from USGS.
I worked with the creator of graphserver to implement the contraction hierarchies technique on bikesy to precompute routes for nine instances with three different hill-tolerances and three different safety tolerances. The routing engine has an easy to use API which has been used by the BayTripper iPhone app to include bike routes.
Visit Bikesy | Bikesy API | Bikesy routing engine source


Zappos Gift Bot

By answering a few simple questions, ZiftBot suggests gifts from Zappos product catalog. Using the Zappos API, product videos are played and users can quickly sort through a lot of potential gift ideas. Its a bit like a customized shopping TV channel where you can skip ahead, product by product. The simple interface is built on top of a backend powered by Node.JS.
Ziftbot was built for the Zappos API Developer Hackathon with Trucy Phan and Conner Petzold. Ziftbot won the prize for Best Overall, which explains why I now have such nice shoes.
Visit Ziftbot | Ziftbot Source

Hacker School Project Visualization

Github projects in D3

I wanted to know what other Hacker Schoolers were working on, what their experience was pre- and post-hacker school and also what languages they were using.

I created the Hacker School Project Visualization to answer these questions. To make it simple for everyone to download, test and fork, all the code is client-side. After requesting a lot of information from github, everything is cached in sessionStorage so browsing is very fast. D3 was used for the visualization.

Visit Site | Source Code


Travel Mode Trip Comparison

When deciding what transportation mode to use for a trip, it’s important to consider all costs and options. compares cost, time and distance for all possible transportation modes for any two points. Using Google Maps API, YQL and published transportation rates it provides an overview of which route is best for any possible trip.
Supported modes include walking, biking, greyhound, driving, taxi, uber, city carshare, zipcar. Future additions will include transit, flights and amtrak. Driving costs are broken down into per mile ownership and maintenance costs and estimated gas costs. Taxi and carsharing modes use published rates based on the trip options specified by the user.
Visit Modepick | Modepick Source

Naive Tweets

Naive Bayes Tweet Classifier in Node.js

Naive Tweets is an app that classifies tweets by language using a naive Bayes classifier. Tweets are pulled from the twitter streaming api and classified on the fly. Training the classifier for languages is automated using a list of specified location/language pairs to auto-classify by assumed languaged. For instance, tweets from Surakarta, Indonesia are all autoclassified as Indonesian. This provides a large amount of training data which allows the classifier to predict the language of a stream of incoming tweets.
I also created a front-end for viewing the tweet stream and seeing what each tweet is being classified as.
Visit Naive Tweets | View Source Code

Who You Met is the fastest and most convenient way to remember people you meet. With Who You Met, you can quickly enter key information and notes about people you’ve met such as their twitter screen name, just as if you were using a notebook. Additional information about a person is automagically retrieved and people are grouped together by when and where you met. You can quickly find contacts by when and where you met them. No more embarrassing moments! was created at StartupWeekend Las Vegas #2. It is available as a web application and as an iOS app.


Startup Weekend Winner

I had the privilege to join a team in Las Vegas that built ClippPR – the best way to keep track of engagement on all your PR clippings. Over a 54 hour period we built a service that lets anyone track mentions, shortlink traffic, facebook likes and comments on any URL. My role was developing the front-end of the site and the admin dashboard for viewing and sorting links. I also built the Chrome extension for saving links to ClippPR.
ClippPR managed to take first place at Startup Weekend Las Vegas despite some excellent competition. ClippPR is currently in private beta and will be launched in a few weeks.
Visit ClippPR | Clipppr’s Startup Weekend Pitch

One character unicode site

I created a one-character site in the tradition of for the unicode Love Hotel character, U+1F3E9.

It turns out supporting this single character in all sites and browsers is a challege. It looks different on OS X between Safari and Chrome – Safari uses the built in Lucida Grande font to render a full color unicode love hotel, chrome tries to use the black and white symbola font. No browsers except Safari and Opera support unicode characters this high (U+1F3E9) so I used a fallback image with the transparent character on top in all other browsers. In really old browsers, character transparency isn’t supported so I actually move the character off-screen. On OS X If you highlight and right click on the love hotel character on OS X you’ll see “Search google for ‘ ‘” with the full color love hotel character.
Visit | Thread on Hacker News