Workers Auto Approve
Polling App Specification
polling, governance, serverless, blockchain
Demo polling app specification for functions to support blockchain (and other forms) of voting for decentralized organizations on the autom(8) platform
We are the autom(8) team. autom(8) is developing a decentralized serverless platform for communal microservices. Functions are deployed to the platform and shared between developers, teams, and organizations as runnable microservices that anyone can call. We are developing demo apps to demonstrate how autom(8) can be used in the blockchain space to rapidly build apps from commonly used functions. This app will be a simple polling (voting) application.
Please see the open source repository and documentation for more information on autom(8).
## Product Specification
Create a polling mechanism for orgs to organize constituents and initiatives, take a poll of constituents among their initiatives, and inspect and share the outcomes of polls.
## Scope of work
### The steps required (in order):
1. **Specify the Solidity smart contracts** - Spec out the smart contract development work based on the Key Organizational structures in the sections below. Confirm specification with the autom(8) team.
2. **Specify the microservices (pure functions) to be deployed to autom(8) serverless platform** - Work with us to define and spec out the functions to be deployed to autom(8).
3. **Interaction interface**
- (nice to have) Simple web endpoints
4. **Build the smart contracts** - Build out the Solidity contracts according to the jointly developed technical spec.
5. **Build and deploy the microservices** - Use autom(8) to host/run the functions specified according to the jointly developed technical spec.
6. **Test and review** - Test functionality with the autom(8) and participate in a debrief to give us feedback on your experience with the platform.
### Key Organizational structure:
- **Organizations** - a list of constituents and initiatives
- **Initiatives** (measures) - Initiatives are a list of constituents, Initiative Bounds (length of vote, or number of votes allowed), a list of choices, and plaintext description of the initiative. It also has a derivative concept of a current winner, and the status (pre-voting, ongoing, concluded)
- **Constituents** - a wallet address present on the organization’s list of constituents a
- **Choices** - a plaintext description of an option that can be selected by a constituent on a particular initiative
### Key Terms:
- **Status** - The state of the initiative as decided by the bounds. Status can be
- pre-vote - voting has yet to begin
- ongoing - voting is open but the bounds have not been reached
- concluded - the vote is finished and the resolution is decided
- **Initiative Bounds** - The initiative bounds are the rules that will determine the status. Bounds can be time bound (a window of time when voting will be allowed)
- **Voting System** - There are several imaginable types of voting systems consisting of scoring criteria and ballot type:
- **Scoring Criteria** - Simple majority, plurality (the choice most frequently selected of a multiple choice option)
- **Ballot Type** - Yea or Nay; Multiple choice: First Past the Post (plurality rule)
- **Initiative Text** - A plaintext description of what is being voted on. Interpretation and implementation of the initiative is outside of the scope. In short, this is only a polling app. It provides no means of deciding on what the outcome of a vote means, nor does it enforce the outcome of a given vote. It simply determines that a plaintext description has been voted on and which outcome has met the winning threshold of votes.
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: