31. Bot

Make a Bot! or, Towards Public Performative Generativity: 
Design an automated generator of interesting online transmissions.

Note: This assignment is part of Assignment 3X, which has two parts (31-Bot and 32-Visualization). One of these (up to you) is your primary submission, and one of these is your secondary submission for 3X. Be sure to indicate which is which. 

Learning outcomes. At the conclusion of this assignment, students will be able to

  • Demonstrate skills in generating text (or other media of interest);
  • Demonstrate skills in using APIs to publish media, computationally;
  • Discuss the aesthetics of generated media


As you know, a program which publishes generated texts to Twitter is colloquially called a ‘bot’. In this project, you will make such a thing. Please note:

  • It is anticipated that a typical project will be a program that generates text.
  • It is anticipated that most such programs will post these texts to Twitter.


  • Your program does not have to generate 140-character message tweets. For example, it might instead generate dialogue, stories, recipes, news articles, poems, lies, etc. It could even generate entirely different media than text, such as images, videos, sounds, melodies, comic strips, etc. The key is that your machine must share its products, whatever they are, online. (Of course, your choice of habitat is essential to your bot’s nature, identity, and audience.)
  • Likewise, although your program must “live” online, it may transmit its products through a service other than Twitter. For example, its habitat might be Facebook, Instagram, Tumblr, Yelp, SMS messages, etcetera. The key is that your machine must share things that it has automatically generated.
  • The above options exist to allow you greater flexibility, should you require it, in creating something targeted to your personal interests. A ‘good old Twitter bot’ is not only a perfectly acceptable and sufficient response to the assignment, but: there remain plenty of wonderful and challenging opportunities in that medium.

If you’re really lucky, your bot will create its own audience. Think of your bot as scratching an itch that someone didn’t even know they had. Perhaps your bot will become the favorite-thing-ever of a small handful of unusual people around the world. As it is said: “On the web, everyone will be famous to 15 people.” Win!

In fact, this assignment is really about: public, performative generativity. If you could generate anything you wished, and publish these generated things semi-regularly to an interested audience, what would you make — and who might care?

But there are some restrictions:

  • Your program may not harass people. If you wish your program to interact (e.g. through @-replies) with real people, those persons must “opt-in” by following your bot. If you do disobey this restriction, please note that (as a practical matter) you are seriously risking having your account blocked very quickly; your project may be very short-lived.
  • With the exception of fair-use copyright violation, your program may not perform illegal actions, such as the Random Darknet Shopper (a bot which purchased illegal drugs). Be careful! Consider the case of this bot which got police attention because it accidentally issued death threats. (To another bot!)

Here are some inspirations to check out:


  1. Please read Michael Cook’s Brief History of the Future of Twitter Bots. Read it soon.
  2. Create a bot that generates and publishes interesting transmissions. (Advice: Consider using the Temboo library or the IFTTT service as an API for publishing your bot through a channel of interest.) Run your bot for several days/iterations.
  3. In a blog post, link to your bot and tell us its name. For example, you might write something like (for example): “My bot is called @golanbot and its URL is http://twitter.com/golanbot.” Make sure to give your bot a 140-character description. (You’ll do this anyway if it’s a Twitter bot, in its “biography” field.) Please include this in your blog post.
  4. In your blog post, write a couple paragraphs discussing your bot. Please be sure to include:
    • Your objectives or goals in creating it (and/or, what inspired you)
    • Your evaluation of its results, including: Did your bot ever surprise you, or make you laugh? Discuss any surprising posts it generated which you felt were particularly successful.
    • Did you (already) receive any interesting reactions to your bot? Did anyone follow your bot? Did your bot make any posts that others have shared? Discuss your audience, if your bot reached one.
    • If you use a publishing channel other than Twitter, please discuss why you chose that channel.
  5. In your writing about your project, in your blog post, please discuss how (or whether) your particular bot falls into one of Michael Cook’s taxonomies. What are the ‘aesthetic values’ of your bot (using Cook’s terms) — why might someone follow it?
  6. Important: please include one or more screenshots of your bot, showing at least five (preferably more, please) of its results — preserving some of its generativa for all time. Feel free to cherry-pick some of your favorites. You can also embed Tweets directly in your blog post, but please provide some screenshots, too.)
  7. Categorize your blog post with the category, 31-bot.