← Ideas
Project Thread
Block Bench Registry: Map Public Resting Spots
Help elderly and mobility-limited neighbors navigate their community one bench at a time
# Block Bench Registry: Map Public Resting Spots ## The Problem For people with limited mobility, chronic pain, or stamina constraints, a 10-minute walk isn't measured in blocks—it's measured in places to sit. Google Maps shows you the fastest route, but it won't tell you there's a low stone wall at the halfway point where you can catch your breath. This invisible infrastructure—benches, ledges, sturdy planters, bus shelter seats—exists throughout every neighborhood but lives only in the mental maps of those who desperately need it. ## Who Uses It **Primary: Mobility-Constrained Navigators** - Elderly residents who plan errands around rest stops - People with chronic fatigue conditions (long COVID, fibromyalgia, MS) - Post-surgery recovery patients rebuilding walking stamina - Parents with young children who need frequent breaks **Secondary: Compassionate Mappers** - Home health aides who walk routes with clients - Physical therapists helping patients expand their range - Adult children planning visits with aging parents - Neighborhood walkers who notice infrastructure others miss **Tertiary: Civic Planners** - City accessibility coordinators identifying gaps - Business improvement districts evaluating streetscape - Transit agencies optimizing bus shelter placement ## Core Features 1. **Drop a Pin, Describe a Seat**: Anyone can mark a resting spot on the map with three taps—location, photo, and quick classification (bench/wall/ledge/other). No account required for basic contributions. 2. **The Five Things That Matter**: Each spot gets rated on: shade availability (none/partial/full), backrest (yes/no), seat height (standard/low/high), surface type (wood/metal/stone/concrete), and proximity to transit (within sight of bus stop: yes/no). 3. **Route Planning by Rest Stops**: Enter start and destination, set your maximum walking distance between rests (default: 400 feet), and get a route that chains together verified sitting spots. Shows estimated total time including reasonable rest breaks. 4. **"Still There?" Community Verification**: Spots decay in confidence over time. Any user can tap "Still here" or "Gone/blocked" when passing a marked location. Spots with recent verification show a green checkmark; stale spots (6+ months) show amber. 5. **Neighborhood Rest Density Map**: Heat map view showing areas well-served by resting infrastructure versus "rest deserts" where someone might be stranded. Useful for advocacy and personal planning. 6. **Unofficial vs. Official Tagging**: Distinguish between city-installed benches (which appear on some municipal maps) and unofficial spots (low walls, wide planters, church steps) that only locals know. The unofficial ones are the whole point. 7. **Notes from Neighbors**: Free-text field for context only a local would know: "Bench faces afternoon sun—brutal in summer," "Store owner sometimes puts out a chair," "Technically private property but no one minds." ## WellSpr.ing Integration Points **MCP Tools (via POST https://wellspr.ing/mcp, JSON-RPC 2.0):** - **`get_city_services`**: Pull existing city bench/park data where available as a starting layer. Municipal parks departments often have formal bench inventories that can seed the map. - **`get_businesses`**: Display nearby businesses when showing a rest spot. Especially useful for noting "bench outside the pharmacy on Main" or identifying businesses that might offer indoor seating in bad weather. - **`search_civic_services`**: Help users find related resources—paratransit services, senior centers, mobility assistance programs—surfaced alongside the map for users who may need them. - **`ask_ody`**: Power a natural language query feature: "Where can I rest between the library and the post office?" Let Ody interpret the question and return relevant bench locations from your database. - **`get_civic_ideas`**: Check if there are existing community proposals for more public seating in identified gap areas. Link bench desert data to active civic conversations. - **`submit_business`**: *Future: covenant commerce*—When a business wants to be listed as "rest-friendly" (offers seating to non-customers, allows brief stops), this could add them to the network. Not currently live for this use case. **REST Endpoints:** - **`GET /api/geo/portals?area_code=NNN`**: Use geographic portal data to scope the map view and understand neighborhood boundaries for density calculations. **WCIB Integration:** - **`GET /api/wcib/ideas`**: Cross-reference with other civic tech projects that might complement this data (walkability tools, senior services apps). - **`POST /api/wcib/ody-ask`**: Let builders query for implementation guidance during development. **Roadmap: not yet live** - Real-time transit integration would let the app show "bench near bus stop #4721, next bus in 8 minutes" - Merchant opt-in registry for businesses offering "rest stops" to mobility-limited neighbors ## Data Model ``` RESTING_SPOTS ├── id (uuid) ├── lat, lng (decimal) ├── spot_type (enum: bench, wall, ledge, planter, steps, other) ├── has_backrest (boolean) ├── shade_level (enum: none, partial, full) ├── seat_height (enum: low, standard, high) ├── surface_material (enum: wood, metal, stone, concrete, other) ├── near_transit (boolean) ├── is_official (boolean) — city-installed vs. informal ├── notes (text, 500 char max) ├── photo_url (string, nullable) ├── created_at (timestamp) ├── created_by_session (string) — anonymous session token VERIFICATIONS ├── id (uuid) ├── spot_id (fk -> RESTING_SPOTS) ├── status (enum: confirmed, gone, blocked, seasonal) ├── verified_at (timestamp) ├── session_id (string) SPOT_CONFIDENCE (computed/materialized) ├── spot_id (fk) ├── last_verified (timestamp) ├── verification_count_90d (int) ├── confidence_score (decimal) — decays over time ROUTE_REQUESTS (for analytics, optional) ├── id (uuid) ├── origin_lat, origin_lng ├── dest_lat, dest_lng ├── max_distance_ft (int) ├── spots_returned (int) ├── requested_at (timestamp) ``` ## Vibe Coding Prompt to Get Started Paste this into Claude or Replit Agent: --- **Build a "Block Bench Registry" web app for mapping public resting spots for mobility-limited users.** **Tech stack:** React + Leaflet.js for the map frontend, Express.js backend, SQLite database (easy to swap for Postgres later). Deploy on Replit. **First milestone: Working map with spot submission (4 hours)** Create a single-page app with: 1. A Leaflet map centered on a default location (use browser geolocation if permitted, otherwise default to a major city center) 2. A floating "Add Resting Spot" button that enters pin-drop mode 3. When user taps the map in this mode, show a slide-up form with: - Spot type dropdown (Bench, Low Wall, Ledge, Planter, Steps, Other) - Has backrest? (toggle) - Shade level (None/Partial/Full radio) - Near bus stop? (toggle) - Notes field (optional, 500 char) - Photo upload (optional, store as base64 or use Replit
◎

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