To simplify unbiased voter education, make it easier to vote, and at the same time not overwhelm voters. We want to do this at the Federal, State, and Local levels. To accomplish this, we want to:
- Create personas that emulate our end users
- Create user scenarios and user contexts for our personas
- Test the derived application against these scenarios and contexts
To create a consistent user experience, we also want to employ the following design practices:
- Atomic Design
- MicroInteractions
Some really, really basic information to provide some context/scope around what we're designing for.
Elections take place at the Federal, State, and Local level.
- Primary Election
- A "nominating" election where candidates for the General Election are chosen.
- General Election
- Voting for candidates that were nominated by parties (or independents) in the Primary Election.
In elections, you can also vote on:
- Proposed Legislation (referendums)
- Bond issues (borrowing of money for public projects)
- "Other Mandates"
- Held in even-numbered years
- U.S. Congress
Some States & Local jurisdictions hold "off-year" elections (for their elected officials)
General Election: They are held on the first Tuesday after the first Monday of November.
- 18+ (mostly)
A list of where we're getting our information, and some basics on how to query/setup each API independently.
Google's Civic Information API aggregates information from many sources. It has three resources it cares about: Candidates, Elections, and Divisions. It uses some under-the-hood magic to determine what it should hand us when it has conflicting sources; unless overridden, we receive what Google determines to be the "best" information for a given request.
We are using a "Client Library" to make requesting information easier, and service account so our users don't need to authenticate. We'll need to implement chaching at some point so we don't hit API Quota limits.
- Google Dev Console [Uses server API Key]
- General Info
- Nuget Install
- API Explorer
- OpenSecrets.org
- House/Senate members and source of financial contributions
- BillPositions
- VoteSmart.org
- Voting history, and some overlap with Google Civic API
- GovTrack.us
- Current Committee Assignments, Bills, Amendments, and Votes
- FollowTheMoney.org
- Sunlight Labs
- Implement dependency injection
- Get project to build
- Whittle "Home" down to an MVP example/test
- Spend time planning UI/UX + AggregateRoots and Domain Entities
- Rename "Home" to semething we can use after ARs are decided
- Implement Sammy Routes
- Get KO firing, and working with areas
- Remove Google API references from core
Create a VM/Model project that is shared by all- Create batch queries to pull info based on scenarios
Create sub-repo for the Toolkit- Create a "how to contribute" guide