The
GEOvoter
API.

The GEOvoter API provides location services for Americans to gather online to help their representative understand what policies to support.

This listing presents the specific services described generally by British journalist Simon Carroll in Democracy disrupted: We need a new politics that’s open source and crowd sourced.

The GEOvoter API puts constituent's issue hashtags on politicians' jurisdiction maps. Like Google’s link-weighted algorithm, the GEOvoter API upvotes relevance so politicians can start to see what issues are important to people not on cable news, the ones who have brains, ideas and persistence.

1. GEOvoter.io: Place social media on politicians’ maps, capture metadata & offer drill down.

2. Demo Map: A double click instantly lists any US location’s 6-7 political jurisdictions.

3. Zip code or Lat-Long Demo: Zip code or Lat-Long instantly lists any US location’s 6-7 political jurisdictions.

4. PowerZone REST call: 61 lines of code that return 6-7 political jurisdictions.

5. GEOvoter API Data Types: 12 Twitter native + 21 derived from NewGov.

6. GEOvoter API: 19-Step Notification Cascade to politicians, media and a voter's social networks.

Place social media on politicians’ maps, capture metadata & drill down.

The service captures social media issue hashtags and depicts them on politicians’ jurisdiction maps, displaying metadata & offers options to drill down.

Twitter API.
Tweets displayed on Congressional districts.

This 2014 proof of concept can be available for service for new issue hashtags within a week.


A double-click instantly lists any US location’s 6-7 political jurisdictions.

NYC example: If I live over the Spotted Pig on W 11th Street, what are my jurisdictions?

Map of jurisdictions.


Your PowerZone hashtag tells your politicians you matter:

#PZNY102766-51000,3*

State:
County:
U.S. Congressional District:
State Senate:
State Assembly:
City or Town:
City or Town Council District:
Unified School District:

New York
New York
NY 10
District 27
District 66
New York
District 03
New York City Department of Education

*The representative for the 66th NY State assembly district is affected when social media tags start with “#PZNY” & chars 10 & 11 = “66”.


PowerZone name space taxonomy:

PowerZone hashtag.

Zip code or Lat-Long instantly lists any US location’s 6-7 political jurisdictions:

Enter ZipCode. Enter Lat/Long.

Using Firefox, your temporary IP number approximates your location.

Firefox share location.

61 lines of code that return 6-7 political jurisdictions:
        locator = new esri.tasks.Locator("http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer");
        dojo.connect(locator, "onAddressToLocationsComplete", gcResult);
        zipQueryTask = new esri.tasks.QueryTask("http://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_ZIP_Codes_2014/FeatureServer/0");
        zipQuery = new esri.tasks.Query();
        zipQuery.returnGeometry = true;
        zipQuery.outFields = ["ZIP"]
        powerzone_svc = "https://data.digitaldataservices.com/arcgis/rest/services/NGOV/us/MapServer";
        identifyTask = new esri.tasks.IdentifyTask(powerzone_svc);
        identifyParams = new esri.tasks.IdentifyParameters();
        identifyParams.tolerance = 0;
        identifyParams.returnGeometry = false;
        identifyParams.layerIds = [0,1,2,3,4,5,6,7,8];
        identifyParams.layerOption = esri.tasks.IdentifyParameters.LAYER_OPTION_ALL;
        function enter_addy(){
        var _add = dojo.byId('addy_input').value;
        if(_add == "[number][street]"){
        alert("Please type in an address in the format:\n'123 Main'");
        }
        else{
        var single = dojo.byId('addy_input').value + " " + qs_zip;
          var address = {
            SingleLine: single
          };
          var options = {
            address: address,
            outFields: ["*"]
          };
          locator.addressToLocations(options);
        }
        }
        function gcResult(candidates) {
        if (candidates.length > 0){
          var us_x = candidates[0].location.x; ///USE THE FIRST HIT
          var us_y = candidates[0].location.y; ///USE THE FIRST HIT
          if(us_x < -64 && us_x > -180 && us_y > 20 && us_y < 72){
          var points = new esri.geometry.Multipoint(map.spatialReference);
          var wmp = esri.geometry.geographicToWebMercator(points);
            passIdentify(wmp);
          }
            else{
              alert("Address and zipcode not locatable in US.");
            }
          }
            else{
              alert("Address and zipcode not locatable.\nMissing Geocode Address Handler.");
            }
          }
          function passIdentify(point_wm) {
            identifyParams.geometry = point_wm;
            identifyParams.mapExtent = map.extent;
            identifyTask.execute(identifyParams, function(idResults) { setContent(idResults); });
          }
          function setContent(idResults) {
            else if (idResult.layerId === 8) { /// LAYER 8 IS THE POWER ZONE POLYGON!!
              if (!unioResults.displayFieldName) {
                unioResults.displayFieldName = idResult.displayFieldName;
                unioResults.features.push(idResult.feature);
                content = unioResults.features[0]; //take the first one, hit #0
              });
            }
          }
      

5. 14 Twitter + 17 derived NewGov data types.

A PowerZone location code has no personally identifiable information, so a social network's members run no risk in sharing theirs (on average, there are 655 people per code). The upside: our representatives can detect what we've been saying, but can no longer pretend we're not. Issue advocates can publicize our constituent power so publicly and persistently that they we can finally drive policy.

1. Twitter UID
2. Date
3. Time GMT
4. Time local
5. Time zone
6. User name or Handle
7. NewGov Member?
8. NewGov SuperVoter?
9. Tweet string
10. Lat-Long
11. *voteUS Hashtag(s) 1 ... n (#FemVoteUS, #STEMVoteUS, #IMMvoteUS, etc.)
12. @handle 1 ... n (All addressee(s) on DMs, RTs, etc.)
13. Retweet ID 1 ... n(All RT Twitter Record number(s))
14. Image
15. ZIP code
16. State
17. State Code
18. US Congressional District
19. US Congressional District NewGov Code
20. County
21. County Code
22. State Upper House
23. State Upper House Code
24. State Lower House
25. State Lower House Code
26. City
27. Ward
28. Date of User's first use of targeted hashtag
29. Is votepledged at NewGov.US? Y-N
30. Date of User's first use of #votepledged hashtag
31. Tweeter's total uses of targeted hashtags


6. 19 Step Notification Cascade.

When social media originates from a representative's jurisdiction, putting it on the political map can be the first of many consequential alerts and services. It's like Software as a Service, but Influence as a Service (IaaS), a Politician Notification Cascade: A series of signals published to Reps and their staffs and archived publicly and continuously.

  1. Place an interactive icon on a politician’s district map, as at GEOvoter.io, section 1, above.
    • Provide a rich hover + drill-down experience from the icon.
  2. Archive the map and its build history so the events stay public
    • Support replay of the map's build history to depict the viral quality.
    • Any cascade event can be added to the map.
  3. Reward the social media author (constituent)/
    • "Congratulations! You're XX times as influential on Issue Y as the average voter!"
      • A simple calculation based on her representatives' committee memberships & rank.
    • "A copy of your message has been forwarded to your representatives"
      • List the cascade events as they unfold.
  4. Send a fax to the politician’s offices using an email-to-fax service.
    • Notify the constituent per
  5. Send a post card to the constituent's Rep(s)
    • Can use the NewGov Foundation's API key from ClickToMail.com; $1.40 each, delivered.
      • Consider handwritten cards including 1-4 described at Mashable:
      • Best practice because Pitney-Bowes digitizes mail to DC Offices
        • Send original to Rep's main district office back home.
        • Send a cc to DC office. It sets up a nice dynamic:
          • DC office intern calls district office:
            • "Did you get a letter from Mary Jones at 123 Elm Street?"
          • After confirmation, district office might flag the file:
            • "May be important. DC office called about this message.”
  6. Introduce the constituent to her Rep
  7. (US) Send a web form message to the politician using the email-to-webform API.
    • Celebrate the constituent
  8. Stylized text, charts & graphs formatted for media consumption. Needs formatting
  9. Alert issue-based NGOs
  10. Post links to advocacy pages & videos.
    • Celebrate the constituent
  11. Generate a press release.
    • Celebrate the constituent
  12. Place an article in local and national papers and online.
    • Celebrate the constituent
  13. Fund a donation to an NGO on behalf of the user.
    • Celebrate the constituent
  14. Fund a donation to the politician(s) from a PAC.
    • Celebrate the constituent
  15. Schedule events using the Meetup API
  16. Optionally organize simultaneous Meetups in the district and the capitol.
  17. Skype, Zoom or WebRTC the Meetups so the DC & District groups form a colloquium.
  18. Depict and publicize each user's cascade with rich text & graphics, online and as PDFs.
  19. Publicize the cascade archive’s scope and trends.