# Coordinator local processing

The coordinator is responsible for processing and tallying messages locally, before generating proofs that this was done correctly using the zk-SNARK circuits.

To summarize, the coordinator's goal here is to process all of the messages that were submitted by MACI's voters, then tally the votes based on the valid vote messages. Furthermore, each batch processed should be able to be verified by a zk-SNARK proof.

## Which MACI's components are involved

The following diagram, shows which components are involved and at which step of the way

## What does the process look like?

Zooming in..

**Message processing**

**Vote tallying**

## What does the process look like when including the zk-SNARK proofs

**Process of completing a Poll**

**Process of generating proofs**

**Tally commitments**