Motivation Bot

Built with: Node | Golang | Quotes API | Twitter API | Regex | Heroku

See the code, see the result.

This bot uses Node.js to take quotes from the Forismatic quotes API, converts unicode characters to their corresponding character using Regular Expressions (Regex), and uses the Twitter API to post. This bot is deployed to Heroku and is scheduled to post daily, follow certain users, unfollow, and like posts with certain hashtags via Heroku Scheduler. It also uses Golang to take in a stream of all tweets, filter for its own handle, and retweet the post it was mentioned in response to.

Why build this project?

I think the project lays the groundwork for something much bigger and very valuable. There are a lot of businesses which sell the capabilities that I put into this motivation bot for over $10 a month, but I can do the same thing for nearly free. Following and unfollowing users on a schedule is a "sneaky" way for people and businesses on social media to get new followers while keeping their following count low. Liking the posts of people who search hashtags related to your social media is another way to gain followers. And of course, regular automated posts are a good way to seem active and get attention. At the end of the day, if more people are following your page, that's more people you can market to.

My reason for building this project outside of adding value to a company is that I've always been interested in automation. Taking something tedious like following 100 users and turning it into a few lines of code is really satisfying to me. I also got some insight into how Twitter works from a developer standpoint. As a user, Twitter is kind of magic. I click like and now that tweet is in my likes, I click follow and now that person's tweets show up in my newsfeed. In actuality, both of those things are POST requests to "favorites/create" or "friendships/create". They change values in databases so that the data rendered when you go to Twitter is different. I'm glad the magic is demystified a little and that I understand the Internet better now.