Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

Bashore Technologies

Blog of Andrew Bashore. Featuring project updates, tutorials, code, tidbits and other jargon.

Introducing GeoMotes

Today I'd like to introduce the Twitch community to a little project I've been working on this week called GeoMotes. I and a lot of other Twitch users would probably agree that one of the best features of Twitch chat is the emotes. You can use the global emotes, subscriber emotes, Kappa emotes, and even cute and lovable puppy emotes. Users like emotes so much that many developers have taken to creating their own extensions to provide additional emotes to users. These include BetterTTV, FrankerFaceZ, GeoTTV and probably others that I've never seen. There is a problem however, may of these extensions are not directly compatible with each other. Some addons also add additional features that may not be desired by the user.

So I decided to create GeoMotes as a platform to allow any 3rd parties to create a set of custom emotes and provide them to users with minimal effort on both ends. GeoMotes is an extension that allows users to subscribe to emote lists created by 3rd parties authors simply by entering the emote list URL into the extension. The emote list will be parsed and injected into Twitch chat to make these emotes available for use and viewing by users that have subscribed to the same list.

How do I use it?


  1. Install the extension. GeoMotes is currently only available for Chrome (and Opera via this addon)
  2. Open the up settings page for the extension. You can do this in three ways: 1. Click the purple smiley by your username in the left panel on a channel page, 2: Click "GeoMotes Settings" under the gear menu in the chat pane, 3: Click Options under the GeoMotes heading in your Chrome extensions list.
  3. Once the settings page is open you will see a set of instructions as well as a text area with an example emote list.
  4. Enter the URL of the emote list you want to subscribe to into the text area. This URL would have been provided to you by its creator. I've created some sample lists you can try as well.
  5. Hit the "Save" button. This will cause the extension to download and parse the emote lists and allow them to be made available to Twitch pages.
  6. Open a Twitch channel and use the emotes. GeoMotes also includes Cletusc's emote button so you can see a listing of them there.


Authors wanting to create an emote list will need to do so by providing a formatted internet-accessible JSON file to their users. The JSON file must contain an array of emote objects which contain the required properties. You can find a definition for the emote object here. An example array can be found here as well as on the examples from the previous section.

I would also highly recommend validating both your syntax and file remote emote list using a JSON validator before releasing it.

Issue / Requests / Feedback

If you have any issues or features requests please post them on the issue tracker. Feedback can be left in the comments below.


Planned targets and features during the current and upcoming development milestones.

0.1.X (Current)

  • Provide a stable initial release with a focus on background stability and a working basic feature set
  • Emote list validation
  • Gage user interest


  • UX improvements to Options page
  • Feedback on the validity of the emote lists
  • Emote list descriptions
  • Previews of the emotes provided by each list

>= 0.3.X

  • Directory of popular emote lists built directly into the extension
  • Firefox support


comments powered by Disqus