For the vivivivivivia type cases, you could step through the generated string 2 chars at a time and search for the same substring elsewhere in the name and then regenerate it if you find too many duplicates. Of course a larger dataset would probably be enough. This site is an amazing resource for that: http://www.fakenamegenerator.com/order.php (you can download name sets in bulk for free)
Really cool demo, thanks for sharing.