A Yiddish orthographic normalizer: Standard Yiddish goes in, Hasidic Yiddish comes out.
Available online: https://ibleaman.github.io/hasidifier
(1) What does this do exactly?
Yiddish is written today using two different orthographies, both based on the Hebrew alphabet. Standard Yiddish, which follows the recommendations of the YIVO, is taught in virtually all college-level Yiddish courses and used by the Forverts newspaper. A different set of orthographic conventions is used in the Hasidic community, where the majority of today's Yiddish speakers (and writers) come from. This system takes text written in Standard/YIVO Yiddish as input, and outputs the same text in Hasidic Yiddish.
(2) Does the system work in the other direction, i.e., from Hasidic Yiddish to Standard/YIVO Yiddish?
Currently this only normalizes texts in one direction, from Standard/YIVO to Hasidic. The tool is based on a list of regular respelling rules and exceptions. Converting from Hasidic to Standard/YIVO would additionally require a large dictionary, and ideally some grammatical information due to the presence of ambiguous string tokens (e.g., "few" and "for" are both written פאר; "cry" and "wine" are both written וויין). If you're interested in converting texts from Hasidic to Standard/YIVO, please check out Refoyl Finkel's normalizer. When using his tool or mine, be sure to check that the output is what you intended, and send feedback if you notice any errors.
(3) How were the rules and exceptions determined?
From my own observations as a reader (and writer) on Hasidic forums. The list of exceptions (e.g., to the rules that rewrite the adjectival suffixes יק- and לעך- as יג- and ליך-, respectively) is based on lexical frequencies from the chat forum KaveShtiebel.com.