a friend of mine spent a good amount of time in undergrad and his masters studying geometric group theory.
in particular, he studied representations of subgroups of free groups. one way to do this is via stallings graphs and stallings foldings.
the algorithm is often done on a chalkboard or whiteboard. im building an interactive app that lets you do all that good stuff a bit more easily.
i intend to have a link to the app somewhere here, and a small post about the math involved.