Encoding the directory as structured geographic data
The directory’s content is encoded as GeoJSON, the open standard (RFC 7946) for representing geographic features and their attributes as JSON. Each legal-aid organization is modeled as a Feature with:
- a geometry object — a Point, given as longitude/latitude coordinates, and
- a properties object — capturing organization name, legal service type, area of practice, address, transit proximity, languages offered, hours of operation, hotline availability, and contact information.
Structuring the data this way separates content (the providers and their attributes) from presentation (the interface), a core digital-humanities practice. It allows the same dataset to be reused for mapping, tabular analysis, or future research without modification.
Three coordinated layers
The interface is a single-page web application built with the Leaflet.js mapping library. Architecturally, it consists of three coordinated layers:
- A map layer rendering each provider as a marker, plus optional overlays for SEPTA transit lines and legal service-area boundaries — so spatial reasoning (proximity, transit access) is made visible rather than left for the reader to infer.
- A sidebar directory layer listing every provider as a searchable, filterable card, giving a non-spatial entry point into the same dataset for users who prefer browsing text to navigating a map.
- A wayfinding layer that, on selection of a provider, computes straight-line distance to the user’s location, identifies the nearest transit line, and generates direct driving and walking links to mapping services — translating spatial data into an actionable next step.
The application also implements a tiered data-loading strategy: it first attempts to retrieve the live dataset from a hosted repository, falls back to a local copy if the network request fails, and degrades gracefully — displaying an explicit error rather than a blank screen — if both fail. This reflects a design commitment appropriate to public-interest tools: the resource should remain inspectable and maintainable independent of any single point of failure.
How the website works
This section explains, in everyday terms, what the website does and how it works. No technical background is needed.
What the website does
The website is an interactive map and directory of legal-aid organizations in and around Philadelphia. It helps someone who needs legal help find a nearby organization, see what kind of help that organization offers, check its hours and contact information, and get walking or driving directions to it.
The two main parts of the screen
- A map on the right, with a pin for every legal-aid organization. Clicking a pin opens a short summary of that organization right on the map.
- A list on the left, showing every organization as a card you can scroll through. Typing into the search box at the top instantly narrows the list to matching organizations.
The map and the list are always in sync: clicking a pin highlights its card in the list, and clicking a card moves the map to that organization and opens its details.
What you can find for each organization
- What kind of legal help they offer (for example, housing, immigration, or domestic-violence support).
- Address, phone number, website, and hours — including whether they offer a 24/7 hotline or walk-in appointments.
- The closest public-transit station and line, plus the approximate distance from you.
- One-click links that open Google Maps with driving or walking directions already filled in.
What this directory does not claim to be
This directory reflects the limits of a single-fellowship project and should be read as a curated starting point rather than a complete registry. It does not include every legal service in the Philadelphia area; organizations were identified and verified within the time and resources available, and others certainly exist that are not yet represented here. The transit layer currently maps SEPTA rail and trolley service and does not yet incorporate the SEPTA bus network, which reaches many routes and neighborhoods the rail and trolley lines do not. Hours, contact details, and intake procedures also change frequently, so users should confirm specifics directly with an organization before relying on them. These constraints are stated openly so the resource can be corrected and extended over time.