Verifiable secret sharing amongst various clients. The ZKP that accompanies the share proves the share is valid.
The idea is to let client generate secrets, make shares and share them amongst each other. Along with the shares commitments are generated as well as a Noir proof that confirms the shares is valids by checking out the shares wrt the commitments. Both the share and the proof is sent to the other client. The proof can be checked on the other side to make sure the share is valid.
The idea is that this is a starting point to build more thing upon. For example it can be a building block for adkg (asynchronous distributed keygeneration). And the proof only has to be generated once and then can be checked multiple times, instead of every client having to do the computation of the verification of the commitments.
It has a verification part in Noir, and clients in Javascript that use NoirJS.
I used the "Tiny Noir app" as a starting point. Then added communication between clients, as sort of a chat service between them. It uses a library from zk-kit to generate the shares and comitments in baby jubjub (this was difficult to figure out).
The hacky part is the communication between the clients for sure! This is not production ready haha.