I am...

New York City, New York 2013-10-27


I am… is a simple algorithm that tries to find an identity using the Google Autocomplete API.


I’ve been struggling lately with what to call myself—artist, designer, developer, etc. It’s become such a problem that I began thinking of a scenario in which personal identity could be derived from outside source. Given that, building something around the undocumented Google Autocomplete API seemed like a sensible approach since Google knows everything.


I am… was originally written as a simple C++ experiment to explore recursive backtracking. In porting it to Javascript and adding the “story” of personal identity, I found that JS isn’t really suited for “true” recursion due to problems of blocking. However, the process is conceptually the same.

Beginning with the string “i am ”, the script adds one random letter and submits the query to Google for suggestions. If there are more than one suggestion, the script adds another letter and tries again. This continues until there are no suggestions, in which case the query backs up to the previous letter, or until there is one suggestion, meaning the algorithm has found its one true purpose.


After an unknown number of queries in an unknown amount of time, Google will block access to the Autocomplete API. The somewhat slow pace of the updates is due to a delay I added to avoid this.


The original program was written for Patrick Hebron’s Evolution as a Creative Tool class at ITP.