← Ideas
Project Thread
Unofficial Historian WellAgent: Neighborhood Memory Keeper
Give the longtime resident who knows every old building's story a way to share that knowledge forever.
# Unofficial Historian WellAgent: Neighborhood Memory Keeper ## The Problem Every neighborhood's living history walks around in the minds of longtime residents — the retired postal worker who knows every family that lived on Oak Street, the shop owner who remembers what stood on the corner before the parking lot. When these memory keepers pass away or move, decades of irreplaceable local knowledge vanishes. This project creates a conversational AI persona trained on their stories, photos, and oral histories, making neighborhood memory searchable and shareable forever. ## Who Uses It **The Historian** — A longtime resident (40+ years), retired teacher, former city employee, or neighborhood elder who holds deep knowledge about local history but has no way to preserve it beyond occasional conversations. **Memory Seekers** — New neighbors curious about their building's past, local journalists researching stories, students working on history projects, urban planners wanting community context, or anyone who wonders "what was here before?" **Family Researchers** — People tracing where grandparents lived, what their old neighborhood looked like, or connecting with others who remember their family. **Local Business Owners** — Shop owners who want to honor the legacy of their location ("This was Johnson's Hardware for 60 years before we opened"). ## Core Features 1. **Oral History Recording Station** — A simple web interface where the historian can record audio stories prompted by questions like "Tell me about the businesses on Main Street in the 1970s" or "Who were the neighborhood characters everyone knew?" Audio is transcribed and tagged by decade, location, and topic. 2. **Photo Memory Uploader** — Upload historical photos with voice annotation. The historian speaks while looking at a photo: "This is the corner of 5th and Maple, 1968. That's Rosie's Diner where everyone went after church." Photo + transcript become linked memory objects. 3. **Location-Pinned Stories** — Every memory can be pinned to a map location. When someone asks "What was at 425 Oak Street?", the agent retrieves all stories tagged to that address or nearby. 4. **Conversational Memory Access** — Neighbors interact with the WellAgent persona through natural questions: "What was the neighborhood like during the '77 blackout?" or "Who started the block party tradition?" The agent responds in the historian's voice, grounded in their actual recorded stories. 5. **Memory Verification Queue** — When other longtime residents hear a story and can add context or corrections, they submit additions that link to the original memory. "Mrs. Patterson's story about the fire is right, but it was 1972, not 1974 — I have the newspaper clipping." 6. **Notable Persons Integration** — Connect historian stories to WellSpr.ing's notable-persons data, enriching both. When the historian mentions "Mayor Thompson," the system can link to official records while preserving the personal anecdote. 7. **Story Prompt Generator** — To help capture comprehensive memories, the system suggests interview prompts based on gaps: "You've shared a lot about downtown businesses — can you tell us about the residential streets? What families lived on Elm?" ## WellSpr.ing Integration Points ### MCP Tools (via POST https://wellspr.ing/mcp, JSON-RPC 2.0) - **`ask_ody`** — Core integration. The WellAgent persona is built on top of Ody, extending it with historian-specific memory context. When users ask questions, the system prepends relevant oral history transcripts to provide grounded answers. - **`get_businesses`** — Cross-reference historian stories with current business directory. When someone asks "What's in the old hardware store building now?", combine historical memory with current business data. - **`get_local_news`** — Surface recent news that connects to historical memories. "The historian talked about flooding on River Road — here's a recent article about new flood mitigation there." - **`get_civic_ideas`** — Connect preservation concerns to active civic discussions. If the historian mentions a building at risk, surface related community ideas. - **`submit_business`** — When historians mention long-gone businesses with enough detail, offer to memorialize them in the business directory with a "historical" flag. *(Note: Check if historical business submission is supported; if not, store locally and mark as future: historical business registry)* ### REST Endpoints - **GET `https://wellspr.ing/api/notable-persons`** — Enrich stories that mention local figures. When the historian says "Principal Williams," pull any existing notable-person data to provide fuller context. - **GET `https://wellspr.ing/api/geo/portals?area_code=NNN`** — Understand the geographic boundaries for this historian's knowledge. Scope the WellAgent to a specific neighborhood federation area. ### Future Integrations (Roadmap: not yet live) - **Historical photo archive API** — Connect with local library/historical society digital collections - **Covenant commerce for historian stipends** — Enable community micropayments to compensate historians for their time - **Cross-neighborhood memory federation** — Link historians from adjacent neighborhoods for broader regional memory ## Data Model ### `historians` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | name | string | Display name for the persona | | neighborhood_code | string | Links to geo/portals area | | bio | text | Short background for context | | active_years | string | e.g., "1962-present" | | created_at | timestamp | | ### `memories` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | historian_id | uuid | FK to historians | | audio_url | string | Original recording | | transcript | text | Searchable text | | decade_tags | array | ["1970s", "1980s"] | | topic_tags | array | ["businesses", "families", "events"] | | location_lat | float | Map pin | | location_lng | float | Map pin | | address_text | string | "Corner of 5th and Main" | | created_at | timestamp | | ### `memory_links` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | memory_id | uuid | FK to memories | | link_type | string | "photo", "notable_person", "business", "verification" | | external_id | string | WellSpr.ing ID or internal photo ID | | added_by | string | Who made the connection | ### `photos` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | memory_id | uuid | Optional link to narrated memory | | image_url | string | Stored image | | caption | text | Historian's description | | estimated_date | string | "circa 1975" | | location_text | string | Where this shows | ### `conversations` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | historian_id | uuid | Which WellAgent persona | | user_question | text | What they asked | | memories_used | array | Which memory IDs informed answer | | response | text | Generated response | | created_at | timestamp | | ## Vibe Coding Prompt to Get Started Paste this into Claude or Replit Agent: --- **Build me a "Neighborhood Memory Keeper" web app with these specs:** **Tech Stack:** React frontend + Express.js backend on Replit, SQLite for initial data storage, Whisper API for audio transcription (or local alternative), and integration with WellSpr.ing MCP. **First Milestone — Recording Station (build this first):**
◎

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