Sourcing hashtags for Instagram

Building Focalmark

Hashtags can be really, really bad. Used correctly though, they’re a powerful little tool that connects thousands of individuals across social networks. Focalmark is here to try and make hashtags less terrible. You can get it now on iOS or Android. Here’s the story of how it was built.

Sourcing the Hashtags

To make sure the categories in Focalmark fully covered the required needs of photographers, I explored a number of photography sites listing certain styles; listened to user feedback on Reddit and beta testing; and trawled through the awful dark Instagram feeds of people who excessively photograph their animals. I worked with Display Purposes, an awesome tool by Fay Montage. Fay took millions of tags, and drew together an algorithm to rank their likeness. With quite a few (over half) of the locations and categories, a lot of the tags from the algorithm didn’t look, or perform, right. Here’s where I went (a little) old-fashion, and collected hundreds of photos on Instagram with their respective hashtags. These would then be collated into a big chunk of tags for each category to be used in the next section.

The beautiful creation, known as “the spreadsheet”

For the locations, I had to work on my US geography a little — finding the most populous city in each state is not easy for a Brit. Ta Wikipedia. Getting together a list of 204 locations, I used a similar tactic to the above.

Refining and Ranking the Hashtags

To make sure photographers are getting truly affective tags, I had to take each of these and analyse their audience on Instagram. Those with millions of uses were mostly verbiage, and of no use to us. These got binned; those that were clearly typos (or correlated wrong from an algorithm) also got binned.

The newest version (1.5) of Focalmark now has a choice for the number of hashtags you’d like to use. Woop.

This was a little annoying for me, though. The tags would have to be displayed in a manner that both maximises the user’s exposure, but also targets the work effectively. After a little thinking, the best option was to rank them by the most popular tag, and then inter-mix these. This would be done like so: 1,15,2,16,3,17,4,18 …

Code and all that

For a user picking a fewer number of tags, they still have high exposure from one tag, and a targeted from the other. You’ll have to go grab an access key from Instagram to access their API.

Once I’d rank every tag, I gruellingly sense-checked every category, getting rid of any #animal style tags (there are still one or two, but they are sense-checked). After this, I concatenated all of these and produced 23 tags for style and 6 for location, for each style and location respectively.


Of course, as many have noted, the ideal is to have tags that are individually maximised. This is where the future of Focalmark most likely lies. To get there, I’d love your support. If you head on over to my Patreon page, you’ll be rewarded for any contributions you can make.

Thank you & Merry Christmas!