I think one can not make it 100% tamper proof. But it is possible to make tampering very resource intensive.
Having fully opensource clients to vote, have voting credentials expire after some time.
Push thread actors to the client side and protect the server side with high protection levels.