I often find myself exploring faraway places on Google Maps. Sometimes I’ll land on a beautiful natural resource like the Grand Canyon or Half Dome in Yosemite, and I’ll notice a bunch of one-star reviews. Something about people who take the time to leave bad reviews of natural splendor is amusing to me. I thought perhaps others might find it funny as well.
So, I decided to find a way to curate these bad reviews and share them with the world. Given I spend most of my social media time on Twitter, I landed on building a Twitter bot that tweets out my favorite of these bad reviews twice per day. I later on decided to throw an Instagram account into the mix since it’s a more visual medium.
I am non-technical, so I needed to find a way to do it using low-code/no-code tools. When I dove it, it turned out to be surprisingly easy. Here’s how I did it.
Collecting the reviews
The most manual part of the process is finding and collecting the bad reviews from Google Maps. I created an Airtable spreadsheet where I can copy and paste in the bad reviews when I come across them. I collect several bad reviews from same place, so I can quickly add several at once.
Because there are several fields I have to copy and paste in, I find the Clipboard History feature in Raycast super useful. Raycast lets me copy several items in a row, and then use keyboard shortcuts tto access my copy history quickly. Thus, when I get to my Airtable database I can quickly paste in several fields without flipping back and forth to Google Maps.
I also like to include a nice picture of the place. For that, I use Unsplash, which lets you use any image you find for free.
Creating the Twitter Bot
Now that I have an extensive database of bad reviews, I need to find a way to start posting them on Twitter. This is a perfect application for Zapier of course.
The Zap, or automation, gets triggered using the Zapier Scheduler feature. With this, you pick a time you want your Zap to run daily. Note - because I want to post twice a day I created duplicate versions of the same Zap: one set to trigger and 10am and one at 3pm.
When the Zap is triggered, it searches for a record in Airtable. Because I am not searching for any specific record, I have to run the search that basically says “return the first record that isn’t empty”.”As you can see below, I set the search formula as Number!="" which accomplishes that.
I limit the search to a view in Airtable I call “To Do” which includes all records that haven’t yet been tweeted.
Next, to avoid tweeting duplicates, I update that found record in Airtable by checking off a field called “Tweeted” which removes that record from the To Do view into a Done view.
Now that I have my record ready, I can tweet it. I created a tweet template I like, and then just add in the fields from the Airtable database to populate it. I can even include the picture to go along with the Tweet.
Next Challenge: Instagram
It was pretty obvious when I started working on this that it’s a very visual piece of content that would work great for Instagram. However, I needed to find a way to programmatically transpose the review onto the image, such as below:
Generating an image with the review on it
ITodo that, I am using a tool called Placid. It allows you to create a template with fields that you can populate automatically via Zapier or their native Airtable integration.
Now, via Zapier, I can automatically generate these images in Placid
I then created an Instagram account for the project. To auto-post to Insta, you did need a business account.
I added steps to the Twitter Zap to create the image in Placid and then post to Instagram.
And voila! I now have an automated Twitter and Instagram bot to post my funny findings. The only remaining manual process is collecting the reviews, which I can do fairly quickly when I run out of content.