/emogen

Emoji link shortener.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

This is a link shortener that shortens links using UTF-8 emojis.

API
---
/r POST with {link: "https://example.com"} returns {link: "/🙃🐰🦊"}

/r/🙃🐰🦊 GET 301 redirects to https://example.com

Docs
----
List of UTF-8 emojis: https://www.unicode.org/emoji/charts/full-emoji-modifiers.html

There's 1431 we can use (without skin tones, those could be added
later). 1 emoji holds >10 bits of information. Concatenating 3
together contains ~32 bits of information, this should be enough for
our purposes.

Redis is used as the database because it's easy to setup and our
database needs are simple. Redis' save option is sufficient for
persistence and backups. With Redis' default configuration a maximum
of 15 minutes of data could be lost. This is acceptable because we're
just shortening links and this is a toy project.