Tag Archives: opendata

Introducing Marillac – A way to find food pantries in Cuyahoga County

As a food pantry manager, I occasionally get asked: where else can I get food?

Conversations would go like this:

If they asked in person,

I or a pantry volunteer would hand them a paper list (that they couldn’t take to keep) that were sorted by zip code with listings that contained the name of the organization, the address, zip, type of assistance they gave (a hot meal or a pantry where people can receive parishable and non-parishable groceries), and if there were any geographic restriction (1).

If I was helping a client on the telephone,

I would type their address into google maps, get their zip code, and try to figure out which locations sounded they would be close to them. Look at a private web page hosted by the Greater Cleveland Food Bank that lists agencies sorted by zip code, name some of the locations, ask if they sound close or familiar to the client and then give them the information.

There had to be a better way to getting this information to people. Drawing from my experience of a year of managing a pantry and my mapping background,
I’m making a map/web app that allows other pantry managers who are asked this question to answer this question more informatively and quicker by making Marillac, a web map that has allow the user to:

– input the person’s address
– the map will automatically zoom to the address on the map and display pantries and hot meals near the person’s home;
– find additional details about the pantry/hot meal by clicking on the icon;

Use it at: http://skorasaurus.github.io/marillac/

This is the first usable version and I’m sharing it with fellow agencies and the local food bank (the Greater Cleveland Food Bank) to see if they find it useful and what can be done to make it more useful for my fellow pantry managers. I used it for the first time earlier this week with a person who called me and it worked :)

If you’re interested in seeing the source code, you can view it on https://github.com/skorasaurus/marillac
(If you’re javascript proficient, any tips or suggestions on my code too would be appreciated!)

Technical details (for the opendata geeks and the curious):
As I dove into this, there was a lot of work to be done; my data sources were a PDF and
or a web page (only available to agencies) that organized the locations by zip. I first scraped the PDF using Tabula, did some formatting with regex, and turned it into a csv file and then a geojson file (mapbox’s csv2geojson). Then, I needed to find a geocoder for addresses that are inputted. I finally found one: SmartyStreets, with a great price (free!) for non-profits.
I’m a big fan and user of mapbox; so I used mapbox’s mapping library. I was still a little rusty on some of my javascript, so some mapbox’s excellent examples for mapbox.js, like filtering markers, were also useful.

(1) Most pantries restrict access based on a person’s zip code although they will usually serve a person for the first time. Zip codes aren’t always an effective way geographic boundary. What may be close for one resident in a zip isn’t close at all. (See this gis.stackexchange discussion for a more technical explanation)