Help neighbors share drills, ladders, and leaf blowers without buying what they'll use once a year.
# Community Tool Library Catalog Builder
## The Problem
Most American households own a drill they use maybe twice a year, a ladder that lives in the garage collecting dust, and specialty tools purchased for one project and never touched again. Meanwhile, their neighbors buy the exact same items. This collective over-purchasing wastes money, consumes resources, and misses an obvious opportunity: if neighborhoods could see what's already available nearby, they could borrow instead of buy—building community connections while keeping dollars and storage space free.
## Who Uses It
**Maria, the Neighborhood Connector** — She's the person everyone texts when they need something weird. She already informally tracks who has a pressure washer, who owns a canopy tent, and who has that special drill bit. She wants a place to finally put all this knowledge so she's not the single point of failure.
**Derek, the Occasional DIYer** — He needs a circular saw for one Saturday project. He doesn't want to buy one, doesn't know his neighbors well enough to ask around, and rental stores charge $45/day plus the drive. He'd happily borrow from someone two blocks away if he knew they existed.
**Greenway Hardware, the Local Shop** — A small hardware store that can't compete with big-box prices but could offer affordable hourly rentals on expensive equipment (tile saws, concrete mixers). They want visibility to neighbors who don't know this option exists.
**The Neighborhood Association** — They've talked about starting a formal tool library for years but can't justify the insurance and storage costs. A distributed catalog—where items stay in owners' homes—gives them 80% of the benefit with none of the overhead.
## Core Features
1. **Add an Item in 60 Seconds** — Any neighbor can list a shareable item with a photo (or no photo), a plain-text description, their general location (block or cross-streets, not exact address), and pickup/return preferences. No account required for browsing; simple email verification to list.
2. **Browse What's Nearby** — A searchable catalog organized by category (power tools, yard equipment, camping gear, party supplies, kitchen equipment) with distance estimates. Search "leaf blower" and see three within a half-mile, with availability notes.
3. **Bootstrap from Free Listings** — On first load for a neighborhood, pull free item listings from WellSpr.ing to pre-populate the catalog with "these were recently given away nearby—imagine if they'd been shared instead." This demonstrates the concept and seeds initial inventory.
4. **Local Business Rental Spotlight** — A dedicated section showing small businesses that rent equipment (hardware stores, party supply shops, commercial kitchens with hourly rates). Pulled automatically from WellSpr.ing business data, flagged when they offer rental services.
5. **"I Need This" Board** — Neighbors can post requests ("Does anyone have a 10-foot ladder I could borrow Saturday?"). Others can respond or add items they didn't think to list. Creates a conversation starter for dormant inventory.
6. **Borrow Request Flow** — Simple contact form that sends an email to the item owner: "Derek would like to borrow your circular saw. Here's their message: [message]. Reply to this email to connect." No login required for either party.
7. **Neighborhood Stats Dashboard** — Show the community impact: "This neighborhood has 47 shared items worth ~$3,200. If everyone borrowed instead of bought, you'd save $X and keep Y items out of landfills." Motivates participation.
## WellSpr.ing Integration Points
### MCP Tools (via POST to `https://wellspr.ing/mcp`, JSON-RPC 2.0)
**`get_free_items`** — Bootstrap catalog on neighborhood launch. Query for recently posted free items in the area to show "here's what's already circulating—now imagine if these were lendable." Also useful for surfacing when someone's giving away a tool that could instead live in the shared catalog.
```json
{
"jsonrpc": "2.0",
"method": "get_free_items",
"params": { "area": "downtown" },
"id": 1
}
```
**`get_businesses`** — Pull local hardware stores, equipment rental shops, and party supply businesses to populate the "Rent Local" section. Filter client-side for businesses whose descriptions mention rentals, hourly rates, or equipment loans.
```json
{
"jsonrpc": "2.0",
"method": "get_businesses",
"params": { "category": "hardware" },
"id": 2
}
```
**`get_business_detail`** — When a user clicks on a local business in the rental section, fetch full details including hours, contact info, and services offered.
**`ask_ody`** — Power a natural language search: "I need something to remove old paint from a deck." Ody can interpret intent and suggest both catalog items (heat gun, pressure washer) and relevant local businesses.
```json
{
"jsonrpc": "2.0",
"method": "ask_ody",
"params": { "question": "What tool do I need to remove paint from wood?" },
"id": 3
}
```
**`submit_business`** — Allow local shops to self-register as rental providers, adding themselves to the WellSpr.ing business directory and becoming discoverable in the catalog.
**`get_adjacent_nodes`** — When a neighborhood catalog is sparse, suggest connecting with adjacent areas. "3 items listed here, but Riverside (0.5 miles) has 28. Browse their catalog?"
### REST Endpoints
**`GET https://wellspr.ing/api/geo/portals?area_code=NNN`** — Determine neighborhood boundaries for the current user's area code. Use this to scope searches and show relevant local context.
### Future Integration (Roadmap: not yet live)
**Covenant Commerce / Merchant Registration** — When small businesses want to formally list rental inventory with pricing, availability calendars, and payment processing, this would integrate with WellSpr.ing's merchant rails. For now, the catalog links to businesses for manual contact.
**Reputation/Trust Layer** — A future WellSpr.ing identity layer could let borrowers and lenders build reputation scores, reducing friction for high-value item loans. For MVP, trust is handled through community norms and email-verified accounts.
## Data Model
### `items`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| title | text | "DeWalt 20V Drill" |
| description | text | Condition, what's included, any quirks |
| category | enum | power_tools, yard, camping, party, kitchen, other |
| photo_url | text | Optional, nullable |
| location_hint | text | "Near Oak & Main" — deliberately vague |
| availability_note | text | "Weekends only" or "Text first" |
| owner_email | text | Verified, never displayed publicly |
| owner_display_name | text | "Sarah M." |
| neighborhood_id | uuid | FK to neighborhoods |
| created_at | timestamp | |
| status | enum | available, on_loan, removed |
### `neighborhoods`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| name | text | "Riverside" or "Downtown 45202" |
| area_code | text | For geo/portals lookup |
| bounds_geojson | json | Optional polygon for map display |
### `requests`
| Field | Type | Notes |
|-------|------|-------|
| id | uuid | Primary key |
| description | text | "Need a tall ladder this Saturday" |
| requester
◎
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