To create a proposal in the protocol, you need to specify an ERC-20, ERC-721, or ERC-1155 compliant token as voting power, a target contract (optional) called at the end of the process, and specify all the parameters that describe the idea. When a user sends the vote, Votility computes the user's weight based on voting power. At the end of the specified period (based on blocks), the proposer finishes the proposal sending the result directly to the smart contract (if your smart contract supports this feature) or collect the data and perform all the needed actions. Your primary focus is to write what happens when the proposal finishes. You don't need to worry about all the base logic to accept your users' requests, compute vote weight, test the code, write the UI to get community engagement, and deploy the contract.