Seems really good, thank you. However, one thing did come to mind. Instead of stepping it back one ancestor at a time, could you step it back one connection at a time? This way, when it goes back a generation, it also looks at sibling, uncles/aunts, cousins, other marriages etc.
I understand that we generally look at our tree as our ancestors from us up, but most of us when we build back, also research down to cousins, and branch out that way too.
If you could get it to search all of a persons connections, you would need to get it to then exclude the previous connections. Soif you look at 1st level connections, you would include both parents, all spouses and in children in first level search. In 2nd level search, you would go to all of the connections of all of your connections. The problem is, all of those connections would have a connection back to you. Also, each of the sibling would then connect to each other, which would be redundant, because they were found in the first level search. So the app would need to ignore all names previously found on the first level of connections, while producing second level. Likewise, third level of connections would have to ignore connections previously made on first and second level.
Hopefully that made sense, and provides a further idea.