Map every public bench, stoop, and resting spot for neighbors who need to pause
# Block Bench Directory: Find a Place to Sit
## The Problem
Walking through a neighborhood shouldn't mean white-knuckling it between distant rest points. For elderly residents, people managing chronic pain or fatigue conditions, parents with overtired toddlers, or anyone recovering from surgery or illness, the absence of a simple place to sit can turn a three-block errand into an impossible journey. Most cities don't map informal resting spots — the low retaining wall outside the laundromat, the wide stoop where neighbors wave you to sit, the shaded bench hidden behind the community garden. This invisible infrastructure exists but remains undiscoverable until you desperately need it.
## Who Uses It
**The Daily Walker with Limits**: Margaret, 74, has arthritis and walks to the pharmacy twice a week. She's memorized her route's two benches but avoids new destinations because she doesn't know where she can rest. She'd contribute every sitting spot she's discovered over 30 years in the neighborhood.
**The Caregiver Planning Outings**: David takes his father, who uses a walker, on afternoon strolls. He scouts routes in advance but wishes he could see rest stops mapped so they could explore new blocks without his dad worrying about getting stranded.
**The Chronic Pain Navigator**: Aisha has fibromyalgia. Some days she can walk six blocks, some days two. She needs to know not just where benches are but whether they have back support and shade — details that determine whether she can actually use them.
**The Parent of Small Children**: Jerome's four-year-old has a meltdown radius of roughly four blocks. Knowing where benches cluster lets him plan outings that stay within recovery range of a sit-down-and-have-a-snack spot.
**The Neighborhood Advocate**: City council member's aide Priya wants data showing which blocks have zero public seating to support a grant application for new benches in underserved corridors.
## Core Features
1. **Map-Based Spot Browser**: Interactive map displaying all resting spots as pins, with quick-filter toggles for "has shade," "has back support," "covered/weather protected," and "usually available." Tapping a pin shows a photo, accessibility notes, and who added it.
2. **Add a Resting Spot with Photo**: Any user can drop a pin, snap a photo, and answer five quick questions: type (bench/stoop/wall/other), back support (yes/no), typical shade coverage (morning/midday/afternoon/none), surface material, and a free-text "local knowledge" field ("owner of the deli doesn't mind if you sit here").
3. **Walkable Route Planner with Rest Stops**: Enter a start and end point, set your maximum comfortable walking distance between rests (e.g., "I need to sit every 2 blocks"), and the app suggests a route threading through available spots. Shows total distance, number of rest stops, and estimated time with breaks.
4. **Comfort Ratings and Updates**: Users can add observations to existing spots: "bench was removed," "usually occupied by someone napping mornings," "new shade tree planted." Spots without recent confirmations surface for verification.
5. **Seating Gap Analysis View**: Heatmap overlay showing areas with no resting spots within a configurable radius. Exportable as a simple report for advocacy use ("These 8 blocks have zero public seating").
6. **Business-Hosted Seating Flag**: When a business offers seating that's open to non-customers (coffee shop with sidewalk bench, hardware store with chairs by the door), that spot can be linked to the business listing with permission context ("sit anytime" vs. "customers welcome to rest").
7. **Neighborhood Comparison Dashboard**: Simple stats showing total spots mapped, spots per square block, and percentage with shade/back support. Lets communities see their progress and compare informally with adjacent neighborhoods.
## WellSpr.ing Integration Points
### MCP Tools (via POST https://wellspr.ing/mcp, JSON-RPC 2.0)
**`get_businesses`**: When a user adds a resting spot associated with a business location (the bench outside Ray's Hardware), query nearby businesses to let them link the spot to an existing listing. This validates the business exists and pulls its name/address.
**`get_business_detail`**: When displaying a business-linked seating spot, pull the business name, hours, and contact info so users know if the adjacent shop is open.
**`submit_business`**: If a user identifies a business offering public seating that isn't in the directory yet, allow them to submit that business to WellSpr.ing simultaneously with adding the seating spot.
**`get_civic_ideas`**: Surface community ideas related to public seating, walkability, or accessibility in the neighborhood. Display relevant civic proposals on the "Advocacy" tab.
**`search_civic_services`**: Query for parks department contacts, 311 bench request processes, or ADA accommodation services. Show these when users are viewing the seating gap analysis.
**`get_city_services`**: Pull information about city bench installation programs, park maintenance contacts, or public works request systems. Display in the "Request New Seating" guidance section.
**`ask_ody`**: Power a conversational helper: "Where can I sit in the shade near the library?" or "What's the most comfortable bench for someone with back pain?" Ody can query the local data and respond contextually.
**`get_adjacent_nodes`**: When the app expands to multiple neighborhoods, discover neighboring WellSpr.ing nodes to show seating spots near boundary areas and suggest cross-neighborhood routes.
### REST Endpoints
**`GET https://wellspr.ing/api/officials`**: Display relevant officials (council members, parks commissioners) on the advocacy page so users know who to contact about seating gaps.
**`GET https://wellspr.ing/api/geo/portals?area_code=NNN`**: Determine the user's neighborhood context and scope the map view appropriately. Essential for multi-neighborhood deployments.
### Future Integrations (Roadmap: not yet live)
- **Merchant-claimed seating verification**: A future covenant commerce feature could let business owners claim and verify their public seating offerings.
- **Community fund for bench installation**: Payment rails for pooling neighborhood contributions toward new seating. Not currently available.
## Data Model
### `resting_spots`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | primary key |
| lat, lng | decimal | precise location |
| type | enum | bench, stoop, wall, ledge, other |
| has_back_support | boolean | |
| shade_coverage | enum[] | morning, midday, afternoon, none |
| surface_material | string | wood, metal, stone, concrete |
| is_covered | boolean | protected from rain |
| local_knowledge | text | freeform tips |
| photo_url | string | user-uploaded image |
| linked_business_id | string | nullable, WellSpr.ing business ID |
| added_by | string | user identifier |
| created_at | timestamp | |
| last_confirmed | timestamp | most recent "still here" check |
### `spot_observations`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | primary key |
| spot_id | uuid | FK to resting_spots |
| observation_type | enum | confirmation, removal, update, occupancy_note |
| note | text | |
| observed_by | string | |
| created_at | timestamp | |
### `seating_requests`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | primary key |
| lat, lng | decimal | proposed location |
| rationale | text | why seating is needed here |
◎
This is your project thread with Ody. Ask questions, share screenshots, talk through the build. Anyone with this link can join the conversation.
Paste screenshots or upload images/PDFs · Shift+Enter for new line