Frankenstein and zeitgeist, among other exceptions to the rule (notably proper names, including Fahrenheit), are of German origin - and 'i before e' is NOT a rule of the German language. German 'ei' is pronounced as the long 'i', while 'ie' is pronounced as the long 'e'. Hence,
"Stein" (shtine, stone),
"weil" (vile, while), and
"Wein" (vine, wine)
      vs.
"Wien" (veen, Vienna),
"vier" (feer, four), and
"Bier" (beer, beer).