Discover volunteer-run repair events where neighbors fix broken stuff together instead of throwing it away.
# Repair Cafe Finder: Fix-It Events Near You
## The Problem
Repair cafes and fix-it events happen regularly in most communities, but they're announced through a patchwork of Facebook groups, library bulletins, and neighborhood newsletters that most people never see. This means broken toasters go to landfills while skilled volunteers sit at empty tables, and neighbors never discover the retired electrician three blocks away who'd love to help them fix their kid's toy. We need a single place that pulls together all these scattered announcements and makes it dead simple to find the next event where someone can help you repair instead of replace.
## Who Uses It
**Maya, 34, apartment renter** — Her vacuum stopped working and she'd rather not buy a new one. She searches "repair cafe near me" hoping someone exists who can help, but Google returns events from 2019.
**Jerome, 67, retired appliance technician** — He volunteers at the monthly library repair cafe but attendance is always low. He wishes more people knew about it.
**Sustainability Committee member** — She wants to promote all the fix-it events in her city but spends hours each month manually compiling a list from different sources.
**First-time event organizers** — A neighborhood association wants to host their first repair cafe and needs to find others nearby to learn from and avoid scheduling conflicts.
## Core Features
1. **Map showing upcoming repair events** — A simple, mobile-friendly map displaying all known repair cafes and fix-it events within a configurable radius, with pins color-coded by event type (general repair, bike-specific, electronics, clothing/textiles).
2. **Event detail cards** — Each event shows: date/time, location, what types of items they repair, whether you need to register, who's hosting, and a link to the original source where it was announced.
3. **"What can I bring?" filter** — Users select what's broken (lamp, bicycle, torn jacket, smartphone) and see only events that repair that category, with the next relevant event highlighted.
4. **Community event submission** — Anyone can add an event they've discovered with a simple form: event name, date, location, repair types offered, source URL. Submissions appear after light moderation (initially manual, later community-flagged).
5. **Subscribe to alerts** — Users enter their email or phone and item type; they receive a notification when a relevant repair event is announced within their area.
6. **Organizer directory** — A list of groups that regularly host repair events, so someone wanting to start one can find mentors, and attendees can follow their favorite hosts.
7. **Event history and stats** — Past events remain visible (marked as completed), building a record of repair activity. Simple stats: "47 repair events in your area this year."
## WellSpr.ing Integration Points
### MCP Tools (via POST https://wellspr.ing/mcp, JSON-RPC 2.0)
| Tool | Usage |
|------|-------|
| `get_local_news` | Primary discovery source — query for keywords like "repair cafe," "fix-it fair," "tool library," "repair event" to surface announcements from local news coverage |
| `get_civic_ideas` | Surface community-submitted ideas that mention repair events, skill-sharing, or sustainability initiatives |
| `search_civic_services` | Find city-sponsored repair programs, tool lending libraries, and municipal sustainability events |
| `get_city_services` | Identify official city services like bulky item repair programs or municipal fix-it workshops |
| `get_free_items` | Cross-reference with free item postings — sometimes repair volunteers post "free repair help" or communities share repair resources |
| `ask_ody` | Help users find events naturally: "Where can I get my toaster fixed this weekend?" Ody can query your local event database and respond conversationally |
| `submit_business` | When a repair cafe becomes a recurring institution (monthly at the library, weekly at the makerspace), submit it as a community resource business listing |
| `get_businesses` | Retrieve existing repair-related businesses (repair shops, makerspaces) that might host or know about events |
| `get_federation` | Discover other WellSpr.ing nodes that might track repair events, enabling cross-community event sharing |
| `get_adjacent_nodes` | Find neighboring community nodes to aggregate events from the broader region |
### REST Endpoints
| Endpoint | Usage |
|----------|-------|
| `GET /api/geo/portals?area_code=NNN` | Get geographic boundaries for the user's area to properly scope event searches and map display |
### Future: Covenant Commerce (Roadmap — not yet live)
When covenant commerce rails are available, this could enable:
- **Repair bounties** — Someone posts "will pay $20 if anyone can fix my grandfather's clock" with funds held until repair confirmed
- **Event supply micro-donations** — Contribute to a repair cafe's solder and parts fund
- **Skill certification** — Verified repair volunteers could receive portable reputation
## Data Model
### Events
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| title | string | "Library Repair Cafe" |
| event_date | datetime | When it happens |
| location_address | string | Human-readable address |
| location_geo | point | lat/lng for mapping |
| repair_types | array | ["electronics", "small_appliances", "clothing", "bikes", "furniture"] |
| registration_required | boolean | Do attendees need to sign up? |
| registration_url | string | Link if registration needed |
| source_url | string | Original announcement |
| source_type | enum | "wellspring_news", "wellspring_civic", "user_submitted", "scrape" |
| organizer_id | uuid | FK to Organizers |
| status | enum | "upcoming", "completed", "cancelled" |
| created_at | datetime | |
| verified | boolean | Has this been confirmed accurate? |
### Organizers
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| name | string | "Eastside Tool Library" |
| contact_url | string | Website or social link |
| description | text | What they do, how often they host |
| area_code | string | Geographic scope |
### Subscriptions
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| contact | string | Email or phone |
| contact_type | enum | "email", "sms" |
| repair_types | array | What categories they care about |
| area_code | string | Geographic filter |
| active | boolean | |
### EventSubmissions (moderation queue)
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| submitted_data | jsonb | Form contents |
| submitted_at | datetime | |
| status | enum | "pending", "approved", "rejected" |
| reviewed_by | string | Moderator identifier |
## Vibe Coding Prompt to Get Started
Paste this into Claude or Replit Agent:
---
Build a Repair Cafe Finder web app using React + Express on Replit with SQLite for initial storage.
**First milestone: Event discovery and display (4 hours)**
1. Create an Express backend with these routes:
- `GET /api/events` — returns upcoming events with optional filters (repair_type, date_range)
- `GET /api/events/:id` — single event detail
- `POST /api/events/discover` — triggers a search for new events
2. Implement event discovery by calling the WellSpr.ing MCP server:
```javascript
// Call
◎
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