ryanwold.net

A civic-minded citizen seeking the singularity

Back to Entries

DemocracyMap - Overview

idea
Date: 2013-08-17
Tags: dmap documentation

/popolo-standard

data dictionary for governments

w3c popolo schema.org microformats

Business Plan / Business Case

Background: This is my work toward a project called DemocracyMap. DemocracyMap is projected to be a complete (nation-wide), open database of public officials, jurisdictions, and organizations. This project is unique because of its comprehensive approach and moreso, local focus. Specifically, the goal is to compile public officials and organizations for every city, county, and jurisdiction in the United States. Similar work has been done for the federal level, such as GovTrack.us.

Goals: To be a complete and open database of public officials, jurisdictions, and organizations. The database will also have an API, which can be used to develop additional, local focusing tools. Additionally, standard widgets will be created for users to embed in third-party applications and websites. Additionally, a backend system to curate, moderate, and update the information is essential to ensure the data remains up-to-date.

NOTES

There are 3 primary interactions on the site:

enter address see results update and add data

Develop a clear strategy to source this data on a consistent basis:

Agencies Governing Bodies Elected Positions (Board Members) Scraping Crowd-sourcing

Moving Parts DMap is split into 2 broad parts: the API and the UI. Each application has several parts as well, which are documented below.

API UI Website enter an address, query for the geocode, respond and update a geocode elements and initiate the loading of additional elements, query for shapes, respond and update shape elements and initiate the loading of city, county, and city agencies, governing bodies, and positions the website is currently scoped to CA, to focus my efforts

dmap.gem In ruby, a dev can query the API website like this: DMap::Site.query(q) DMap::Site.shapes(q) DMap::Site.dmap(q) DMap::Site.search(q) => each method returns a Hash in Ruby. Open a Draft and New Questions Find quotes and graphics that are relevant to the problem

Endorsements

A fundamental tool to build on.

1 interface for media to source information from

easy ballot lookups!

js plugin to link any supervisor issues.

MySQL Database Geoserver API /geocode?q= simple geocode. Provide an address, receive a geocode .json object /shapes?q= Provide an address, receive shapes the relate /dmap?q= Provide an address, receive a City, County, and State's: Agencies, Governing Bodies, and Positions http://pastie.org/private/dznfxqqoquptwmdy7ncohg /search?q= Provide an address, get the geocode, shapes, and DMap entities as a .json feed geoserver.gem In ruby, a dev can call Geoserver.query(lat, lng, "dmap", "cacongressionaldistricts"), receiving a Hash

Project Context & Authority

Requirements 8 Principles Accuracy Complete Authentic (CRC) Contextualized Usable Timely

Paperwork Reduction Act TREAD Act Commission on Protecting and Reducing Government Secrecy p297 of OpenGov book - Transparency Posters & Employee Training Federal Funding Accountability Act of 2006 Recovery Accountability and Transparency Board Washington’s Public Disclosure Act Privacy Act Yugop XML Tree for OPML/Tree hierarchy FOIA (Pull) / POIA (Push)

By Ryan Wold · © 2013–2026 Ryan Wold

Licensed CC BY-NC 4.0. AI training requires a license — machine-readable terms.

Enjoyed this? — any BSV wallet, HandCash, or plain old dollars.

Leave a tip

Tips go directly to a Bitcoin SV address I control — peer to peer, no platform in between. A few thousand satoshis is a fraction of a cent; it's the gesture that counts.

From any BSV wallet

Scan the QR code with your wallet's camera, or copy the address.

177DwUfSTW8RkFBJzYYcgr1YB8ngbhTYAc

With HandCash or any paymail wallet

Paymail is an email-style address for Bitcoin wallets. Send any amount to afomi@handcash.io

First time using Bitcoin? Yours Wallet is an open-source browser extension wallet, and HandCash is an easy mobile wallet — either takes a minute to set up.

Prefer regular money? Support via OpenCollective.