Pittsburgh Food Access Map

Capstone team: Jack Drabenstadt, Lucy Guo, Gleb Ksianevich, Cole Swierczek
Sponsors: Pittsburgh Policy Initiative (PPI)

Food insecurity is a persistent challenge in Pittsburgh. The 2019 food access map developed by Code for Good Pittsburgh fell out of maintenance. Our team partnered with the Pittsburgh Policy Initiative to rebuild an extensible, community-first platform.

The system is a hybrid web/mobile map of food resources including grocery stores, farmers' markets, food pantries, corner stores, and mutual aid sites. Core features include filtering by type, neighborhood, and hours of operation. An admin dashboard allows PPI partners to add and edit resources. A reporting module lets users submit corrections.

System architecture diagram
Frontend: React (web) + React Native (mobile). Backend: Python/Flask. Database: SQLite/PostgreSQL.

What We Built

Architecture

Frontend: ReactJS (web) and React Native (mobile) with Leaflet.js. Unified component logic, platform-specific map renderers.

Backend: Python/Flask REST API. Serves GeoJSON, handles admin write operations, processes user reports.

Database: SQLite for development, PostgreSQL for production. Schema includes resources, neighborhoods, hours, reports.

DevOps: Docker containerization, GitHub, documentation-first approach for maintainability.

Technical Challenges

Legacy data: 2019 dataset contained outdated entries and missing geometries. We built data transfer tools and transferred 2019 data to allow PPI staff to alter and verify data.

Accessibility: Leaflet maps are not inherently accessible. Added ARIA live regions, focus management, high-contrast tiles, and 44×44px touch targets.

Cross-platform React: Abstracted map renderers (Leaflet vs react-native-maps) while preserving shared filter logic and state.

Handover: Dockerized dev environment, API documentation, and admin user guides ensure PPI can maintain the system post-delivery.

Technologies

Impact

Code

github.com/drabenstadtj/PittsburghFoodAccessMap - The project is pending deployment as of Spring 2026.