
Show HN: I made an emoji URL shortener with detailed, open analytics - aato
http://mosho.ws
======
aato
Last week I saw a comment by @runnr_az re: his emoji domain registration
engine ([https://xn--qeiaa.ws](https://xn--qeiaa.ws)). I was immediately
excited by the prospect of building something novel and after some
brainstorming settled on an emoji URL shortener registered under [http://xn--
dk8h6i.ws](http://xn--dk8h6i.ws) (text-friendly name:
[http://Mosho.ws](http://Mosho.ws)). My hubris was great - this was clearly an
original idea that no one in the entire history of the internet had thought
of. I immediately began working on a prototype using the MEAN stack (minus
Angular as that seemed overkill for something so simple) with full confidence
that I was to be the Mark Zuckerberg of emoji URLs.

The original version simply mapped a given domain to a randomly-chosen
combination of Unicode 6.0 emojis (the ones that your original iPhone 4S
supported) - nothing more. I was about to start sharing around the site when I
came across [http://www.xn--vi8hiv.ws](http://www.xn--vi8hiv.ws) (Linkmoji)
and [http://xn--cr8hhg.ws](http://xn--cr8hhg.ws) on Product Hunt - two great
emoji URL shorteners that had already beaten me to the punch - doh!

After my ego finished deflating I began to think of ways to improve on the
original concept. I assumed that the most-desired feature would be custom
emoji combinations so I added that first (your custom alias can be between 1
and 100 emojis). I also noticed that emoji URLs don't play nice with social
media - like, at all (Twitter being the only exception at the time of this
post). Through a lot of manual testing I narrowed down the URL formats that
would be supported (and autolinked) by all the major players (Product Hunt,
Hacker News, Slack, Reddit, Twitter, Facebook, Pinterest, and Tumblr) and
displayed them in a tabulated list upon shortening.

I also added detailed analytics. Originally I was just tracking clicks but
ended up adding sources, mediums, cities, countries, browsers, platforms, and
devices. Finally I added support for Unicode 6.1, 7.0, and 8.0 emojis which
are what all modern phones offer - it currently supports 888 emojis (not
intentional but awesome nonetheless).

All in all it took about three days to build the core functionality and
another four to polish the User Experience (I'm a backend dev by trade so
frontend work doesn't come as naturally to me). I'm sure there are many ways
in which Mosho can be improved and I look forward to everyone's feedback!
Finally I'm greatly thankful for [http://www.xn--vi8hiv.ws](http://www.xn--
vi8hiv.ws) and [http://xn--cr8hhg.ws](http://xn--cr8hhg.ws) \- their efforts
inspired me to really push myself with this product - it wouldn't have been as
polished had it not been for them.

------
tristanac
Saw this on PH today!

