# Civic Mentor Match: Retired Expert Office Hours
## The Problem
Retired professionals—teachers, accountants, lawyers, plumbers, nurses—often want to stay engaged and useful but resist formal volunteering with rigid schedules and obligations. Meanwhile, their neighbors struggle with questions they can't afford to ask: "Is this contractor's quote reasonable?" "How do I file for this tax credit?" "Can someone look at my kid's college essay?" This mutual need goes unmet because there's no low-commitment way to connect expertise with questions across generations.
## Who Uses It
**The Mentors:**
- **Rosa, 68** — Retired CPA, widowed, sharp as ever. She'd love to help young families avoid tax mistakes but doesn't want to be "on call" or liable. She'd happily sit at the library Tuesday mornings if people just knew to find her there.
- **Marcus, 72** — Former high school English teacher. Misses students. Would review resumes or college essays over coffee in a heartbeat.
- **Helen, 65** — Retired nurse. Could answer so many "should I see a doctor about this?" questions that keep neighbors up at night.
**The Seekers:**
- **Jaylen, 34** — First-time homebuyer with questions about closing documents. Can't afford a lawyer for a 20-minute question.
- **Maria, 45** — Small business owner wondering if her accountant is actually helping or hurting. Wants a second opinion from someone with nothing to sell.
- **Dwayne, 28** — Trying to help his mom navigate Medicare paperwork. Completely lost.
## Core Features
1. **Post Open Office Hours** — Any retired professional can post a recurring or one-time "office hours" session: specialty (tax help, resume review, home repair advice, etc.), location (Elm Street Library, Main Street Coffee), date/time, and a brief description of what questions they're comfortable answering.
2. **Browse Mentors by Specialty** — Neighbors can browse available mentors filtered by category (Financial, Legal Guidance, Education, Trades, Healthcare Navigation, Career) and see upcoming sessions on a simple calendar view.
3. **Request a Slot** — Seekers can request a 15- or 30-minute slot during a mentor's posted hours. No account required—just name, brief description of their question, and contact method (phone or email). Mentors see requests and can confirm or suggest alternatives.
4. **Venue Discovery via Local Businesses** — The app pulls cafes, libraries, and community spaces from WellSpr.ing's business directory so mentors can easily select welcoming, accessible meeting spots when posting hours.
5. **Ask Ody for Mentor Matching** — Seekers who aren't sure what kind of help they need can describe their situation to Ody, who suggests which specialty categories might help and surfaces relevant upcoming sessions.
6. **Session Notes (Optional)** — After a session, mentors can log brief anonymized notes ("Helped with: first-time homebuyer closing questions") to build a public record of community knowledge-sharing without exposing seeker details.
7. **No-Pressure Cancellation** — Either party can cancel without friction or explanation. The tool actively discourages obligation: "Rosa's office hours are casual—no commitment, no guilt."
## WellSpr.ing Integration Points
| Integration | Tool/Endpoint | Purpose |
|-------------|---------------|---------|
| **Venue Discovery** | MCP: `get_businesses` | Fetch local cafes, libraries, community centers where mentors can host sessions. Filter by type and accessibility. |
| **Mentor Guidance** | MCP: `ask_ody` | Help seekers articulate their needs. "I'm confused about my property tax bill" → Ody suggests Financial/Tax category and surfaces Rosa's Tuesday hours. |
| **Specialty Inspiration** | MCP: `get_civic_ideas` | Surface related community initiatives; perhaps show "Neighbors are also asking about..." to help mentors understand local needs. |
| **Civic Services Context** | MCP: `search_civic_services` | When mentors log sessions or seekers describe problems, surface relevant official services they might not know about (e.g., "The city actually offers free tax prep for seniors"). |
| **Community Reach** | MCP: `reach_number` | Display the federation reach metric to show mentors their knowledge contributes to a broader civic network. |
| **Adjacent Communities** | MCP: `get_adjacent_nodes` | If no local mentors match a specialty, suggest the seeker check neighboring WellSpr.ing nodes. |
**Future: Covenant Commerce** — When payment rails are live, seekers could optionally leave a "gratitude tip" that routes to a mentor's chosen local charity. *Roadmap: not yet live.*
**Future: Notable Persons Integration** — Cross-reference mentors with `GET /api/notable-persons` to highlight community members with recognized expertise. *Roadmap: not yet live for this use case.*
## Data Model
```
MENTORS
├── id (uuid)
├── name (string)
├── specialty_tags (array: ["tax", "financial", "small-business"])
├── bio (text, 280 char max)
├── contact_method (enum: phone, email)
├── contact_value (string, encrypted)
├── created_at (timestamp)
SESSIONS
├── id (uuid)
├── mentor_id (foreign key)
├── venue_id (string, from WellSpr.ing business)
├── venue_name (string, cached)
├── datetime_start (timestamp)
├── duration_minutes (int: 60, 90, 120)
├── slot_length (int: 15 or 30)
├── description (text)
├── status (enum: open, full, cancelled, completed)
REQUESTS
├── id (uuid)
├── session_id (foreign key)
├── seeker_name (string)
├── seeker_contact (string, encrypted)
├── question_summary (text, 500 char max)
├── slot_time (timestamp)
├── status (enum: pending, confirmed, cancelled, completed)
SESSION_NOTES (optional)
├── id (uuid)
├── session_id (foreign key)
├── anonymized_topic (string)
├── created_at (timestamp)
```
## Vibe Coding Prompt to Get Started
Paste this into Claude or Replit Agent:
---
**Build a "Civic Mentor Match" web app where retired professionals can post informal office hours and neighbors can browse and request brief advice sessions.**
**Tech Stack:** React frontend + Express.js backend on Replit, SQLite database (or Replit DB), Tailwind CSS for styling.
**First Milestone — Mentor Posting Flow:**
1. Create a simple form where a mentor enters: name, specialty (dropdown: Financial, Legal Guidance, Education, Trades, Healthcare Navigation, Career, Other), short bio (280 chars), and preferred contact method.
2. After submitting, show a second form to post a session: date, time, duration (1-2 hours), slot length (15 or 30 min), and venue. For venue, fetch options by calling the WellSpr.ing MCP server:
```javascript
// POST to https://wellspr.ing/mcp
// JSON-RPC 2.0 format
{
"jsonrpc": "2.0",
"method": "get_businesses",
"params": { "category": "cafe" }, // also try "library", "community"
"id": 1
}
```
Display returned businesses as a dropdown. Let mentor pick one or enter custom location.
3. Save mentor +
◎
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