← Ideas
Project Thread
Noise Complaint Translator: Peaceful Resolution Helper
Turn frustrating neighbor noise into a constructive conversation before it becomes a 311 call.
# Noise Complaint Translator: Peaceful Resolution Helper ## The Problem Noise disputes are one of the most common sources of neighbor conflict, and they escalate quickly—from annoyance to 311 calls to lasting neighborhood tension. Most people don't want to file formal complaints; they just want the problem solved, but they don't know how to bring it up without starting a fight. A tool that helps translate frustration into constructive dialogue can preserve relationships and keep blocks peaceful. ## Who Uses It **The Light Sleeper**: Works early shifts or has young kids, frustrated by a neighbor's late-night gatherings but doesn't want to be "that person" who complains. **The New Neighbor**: Just moved in and realizes their garage band practice is louder than they thought—wants to proactively smooth things over before anyone gets upset. **The Reluctant Mediator**: Block captain or longtime resident who gets pulled into disputes and wants a neutral script to help both sides communicate. **The Pet Owner**: Knows their dog barks when they're at work but isn't sure how bad it is or how to address it with neighbors who've started giving them looks. ## Core Features 1. **Noise Situation Intake**: User describes the noise issue through a guided form—type of noise (music, pets, construction, voices), frequency, time of day, duration, and how it's affecting them. No account required. 2. **Friendly Note Generator**: Based on the intake, generates 2-3 tone options for a written note: casual/neighborly, polite/formal, or direct/clear. Each avoids accusatory language and focuses on impact + request rather than blame. 3. **Conversation Script Builder**: For those who prefer face-to-face, generates a brief script with opening lines, talking points, and suggested responses to common reactions ("I had no idea!" or "Mind your own business"). 4. **Local Ordinance Lookup**: Searches civic services to surface relevant quiet hours, decibel limits, and pet noise regulations for the user's area—giving them facts to reference without threatening. 5. **Timing Advisor**: Suggests best times to approach a neighbor (weekend mornings, early evening) and times to avoid (right after an incident when emotions run high, late at night). 6. **Escalation Pathway Guide**: If direct communication fails, surfaces local mediation services, community dispute resolution programs, and only then explains the formal complaint process—framing 311 as a last resort. 7. **Reverse Mode (Self-Check)**: Lets users input complaints they've received and generates a gracious response note, helping them de-escalate from their side. ## WellSpr.ing Integration Points ### MCP Tools (via POST to `https://wellspr.ing/mcp` using JSON-RPC 2.0) | Tool | Usage | |------|-------| | `search_civic_services` | Query with terms like "noise ordinance," "quiet hours," "mediation services," "neighbor disputes" to surface relevant local regulations and resources | | `get_city_services` | Retrieve general city services info including 311 process, code enforcement contacts, and community mediation programs | | `ask_ody` | Power the note/script generation—send the user's situation description and desired tone, receive constructive communication drafts | | `get_civic_ideas` | Surface community-submitted ideas for neighbor relations, block harmony initiatives, or noise reduction projects that might inspire users | ### REST Endpoints | Endpoint | Usage | |----------|-------| | `GET /api/officials` | Display relevant local officials (city council, neighborhood liaisons) as a resource if formal escalation becomes necessary | ### WCIB Endpoints | Endpoint | Usage | |----------|-------| | `POST /api/wcib/ody-ask` | Alternative integration point for AI-powered note generation if building within the WCIB ecosystem | ### Future: Covenant Commerce (Roadmap, not yet live) - Neighbor-to-neighbor gift exchange for peace offerings (coffee, baked goods) after resolution - Community mediation service booking and scheduling ## Data Model ### `noise_situations` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | noise_type | enum | music, pets, construction, voices, vehicles, yard_equipment, other | | frequency | text | "daily", "weekends only", "occasional" | | time_pattern | text | "late night", "early morning", "all day" | | impact_description | text | How it affects the user | | area_code | text | For ordinance lookup | | created_at | timestamp | | ### `generated_messages` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | situation_id | uuid | FK to noise_situations | | message_type | enum | note, script, response | | tone | enum | casual, formal, direct | | content | text | The generated message | | created_at | timestamp | | ### `ordinance_cache` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | area_code | text | Geographic identifier | | ordinance_type | text | quiet_hours, decibel_limits, pet_noise | | summary | text | Plain-language summary | | source_url | text | Link to official source | | cached_at | timestamp | For freshness checks | ### `resolution_resources` | Field | Type | Notes | |-------|------|-------| | id | uuid | Primary key | | area_code | text | Geographic identifier | | resource_type | enum | mediation, counseling, legal_aid | | name | text | Organization name | | contact_info | text | Phone, email, website | ## Vibe Coding Prompt to Get Started ``` Build a "Noise Complaint Translator" web app using React + Express on Replit. FIRST MILESTONE: Create a working intake form and note generator. Frontend (React): - Single page app with a friendly, calming design (soft colors, rounded corners) - Step 1: Intake form with fields for: - Noise type (dropdown: music, barking dog, construction, loud voices, vehicles, yard equipment, other) - When it happens (checkboxes: early morning, daytime, evening, late night) - How often (dropdown: daily, few times a week, weekends, occasionally) - Text area: "How is this affecting you?" (placeholder: "I can't sleep before my early shift...") - Optional: zip code for ordinance lookup - Step 2: Tone selector - three cards showing "Friendly & Casual", "Polite & Formal", "Clear & Direct" - Step 3: Display generated note with copy button and "Try another tone" option Backend (Express): - POST /api/generate-note endpoint that: 1. Takes the intake form data and selected tone 2. Calls WellSpr.ing MCP (POST https://wellspr.ing/mcp) using JSON-RPC 2.0 format: - Use ask_ody tool with a prompt like: "Generate a friendly neighbor note about [noise_type] that happens [frequency] during [time]. The person wants to say: [impact]. Use a [tone] tone. Focus on impact and request, not blame. Keep it under 150 words." 3. Returns the generated note - GET /api/ordinances/:zipcode endpoint that: 1. Calls search_civic_services via MCP with query "noise ordinance quiet hours [zipcode]" 2. Returns summarized results Store nothing permanently for MVP - this is a utility tool, not a social network.
◎

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