I have one regret, though.
I made the first few levels through trying somehting random like ABCD, and guessing the transformation.
Then, instead of a random word, I just started with the encoded word as input. And more than once, I was given the answer with no thinking at all, meaning encoding function is its own reverse.
That could be good for, say, certain words for first two levels, but after that, it's unfortunate you can just be lazy :)
Just tried again on some levels.
For 5.1 for example, I have to decode GVR, FVAX, ORNFG; for every one , entering the encoded as input give me the answer immediately,
I reopened the level, gave me ELR, FGBAR, (FVAX )=> same thing
Third time : (ORNFG), FBNC, (ELR)
10 successive tries then gave me only words I already did above (that's another point : the list of words for each component is too limited)
In fact, only 9-letters words won't be reversibly encoded.
If that happen, this should be only incidentally.
Is the source code available ? I would love to write some more difficult levels :)