This is technically not a new tool. However, it was based on @steemsql - which is now dead.
It is not that difficult to gather the information needed for this tool. You just need to crawl blocks from 0 to the latest, then sync with it, extracting the relevant information (account_witness_proxy) and store them in a database either relational such as sqlite, mysql or non-relational such as mongodb.
Depending on the schema, you could store entire witness proxy history, or store all proxy votes from same account, or even, store only the latest proxy votes (disregard previous votes).
The first two scenarios require filtering previous votes:
sql = """ SELECT name,proxy,time,block FROM proxy as P1 where block = ( select max(block) from proxy as P2 where P2.name = P1.name ) and proxy = '""" + id + """' order by time desc """
And API is provided as well, where it returns not only the direct proxy voters but who vote them, and who vote who vote them...
I hope this helps!
Also: you can vote me at the tool I made: https://steemyy.com/witness-voting/?witness=justyy