Building the AdjectiveNounBot on AWS

Long ago, during the wild times of the 2004 internet, I ran a site of web experiments called Adjective Noun. The site’s header had random (but curated) pairings of adjectives with nouns, each coupled with a clever stock photo.

Some of my favorites were “Dumb Snowman” (sitting in front of a fire) and “Mysterious Clock” (a clipart clock crop circle).

The site has faded into obscurity, but the concept has never disappeared from my mind. Over the years, I’ve toyed with random word pairings. Most recently, both online and and as part of Puzzle Sidekick, I built a mini adjective-noun generator using just P-adjectives and M-nouns. (Brief background: this arose due to a mental hangup I have between Project Manager and Prime Minister when abbreviated.)

My most recent project brings this concept into the realm of Twitter, as @AdjNounBot. It holds large wordlists of adjectives and nouns, combines them, then juxtaposes that phrase with the top image search result for that phrase. So far the results are a little mixed, but generally good.

Within the first couple of days of launching, I did have one large uh-oh. The bot came up with an alliterative, but extremely vulgar pairing: crescent c— (attached to a line drawing of a sickle-like moon shape). It’s random, but what were the odds? (Well, okay. About 1 in about 45,000.) I’ve since trimmed down the wordlists a bit to prune out profanity.

Like many of my recent projects, it runs on AWS and the source code is on Github, but it’s more fun to just subscribe to @AdjNounBot.

Posted in: Code

Published by

Brian Enigma

Brian Enigma is a Portlander, manipulator of atoms & bits, minor-league blogger, and all-around great guy. He typically writes about the interesting “maker” projects he’s working on, but sometimes veers off into puzzles, software, games, local news, and current events.

Leave a Reply

Your email address will not be published. Required fields are marked *