MPLS 2021 Poll Finder

An open-source, API-backed poll finder that (mostly) doesn't suck ❤️

⚠️ Check out the FAQ before diving in!

👀 Need an example? Click here!

Frequently Asked Questions (F.A.Q.)

What is this?

This is a tool that (mostly) helps you with one thing: finding your polling place (if you live in Minneapolis) and your voting precinct (if you live in Minnesota)!

Are there any limitations with this tool?

Yes. lol.

First off, this relies on Google Maps for geocoding the data. Like any service, if you send garbage data to it, you'll receive garbage in return. In other words, you'll see the best results if you send complete street addresses (that actually exist!), with brownie points if you include a ZIP code.

With any geocoder, the data tends to be less accurate in less populous areas. While it should work just fine for most parts of the state (provided you send it complete and valid addresses), take it with a grain of salt if you're outside of the Twin Cities Metro Area! If you're ever unsure of the results you're getting, the official poll finder is your best bet.

And lastly... this tool doesn't have any sample ballot data but long story short: #DontRankFrey and vote #NoYesYes ❤️

So this is cool and all but... the Minnesota Secretary of State already does this. Why are you?

It's true—the Secretary of State (SOS) has done excellent work on these fronts and it serves us very well! However, the current system requires a lot of clicks to access all of that valuable information—not just access to your precinct and its corresponding polling place, but all of your electoral boundaries (Ward, County, Congressional Districts, etc.) and everything on your ballot.

And what's worse, there's no discernable pattern to these URLs, meaning that all of this information is difficult to access at scale without significant resources. This makes it harder for grassroots campaigns to do their jobs, which in turn affects electoral turnout.

This tool isn't intended to replace the SOS's system—it was built by a single person, I honestly couldn't do that if I tried! The purpose of this site is to demonstrate how modern web technologies can be used to create API-driven tools, which can (hopefully!) reduce some of the barriers to providing information for people. 🌱

You mentioned that it's API-driven! How does that work?

You can retrieve a JSON version of data provided on the website by passing an Accept header in your request that specifies application/json. You can also pass a format=json query parameter (like this!) and that should also do the trick.

The markup on this webpage also includes a few hidden tricks for Google Sheets users to easily integrate this data into their workflows. You can grab the XPath selectors of certain fields on the page and then use formulas like these to import the data:

  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='Precinct']")
  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='address']")
  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='mplsPollingPlace21']")

API docs TBA! 🦉

Do you have a privacy policy?

This is a humble proof-of-concept so it doesn't have a formal privacy policy, but this application does not load with any invasive analytics/tracking scripts, nor does it log any of the information you send. Oh, and the code is fully open-source if you'd like to take a look!

The information you submit to the site via the query parameters (address information, geographic coordinates via the 'Current Location' button, etc.) is anonymously sent to the Google Maps Geocoding API so that information is subject to their privacy policy and their terms of use. So don't, like, send your social security number through the form? This site won't see it or log it anywhere, but it's technically being sent to Google.

Will elections save us?

lol... you must be new here