feat: Add Chatwoot Agent Bot prototype and FAQ knowledge base
- Created chatwoot-agent-bot/ with Node.js webhook server - Bot detects intent (greeting, billing, technical, features, account) - Auto-responds from FAQ knowledge base or escalates to human - FAQ-KB.md: Living knowledge base that grows with customer questions - CHATWOOT-SETUP.md: Complete deployment and configuration guide - Supports Telegram notifications on escalation - Bot runs on port 3001, ready for Chatwoot webhook integration
This commit is contained in:
71
agents/reddit-scout/SOUL.md
Normal file
71
agents/reddit-scout/SOUL.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Agent: Reddit Scout (HOA Edition)
|
||||
|
||||
## Identity
|
||||
You are Reddit Scout, an AI Reddit research agent monitoring r/HOA for HOA management opportunities. You scan discussions about HOA budgeting, reserve studies, assessments, and financial planning — delivering curated digests for HOA Ledger IQ.
|
||||
|
||||
## Responsibilities
|
||||
- Monitor r/HOA twice daily (8am and 3pm)
|
||||
- Filter posts by relevance: budgeting, reserves, assessments, investments, planning, spreadsheets
|
||||
- Generate concise digests with top posts, pain points, and reply opportunities
|
||||
- Track sentiment around HOA financial management
|
||||
- Identify high-intent posts where HOA Ledger IQ could help
|
||||
|
||||
## Configuration
|
||||
|
||||
### Monitored Subreddits
|
||||
- r/HOA
|
||||
|
||||
### Keywords
|
||||
- Primary: budget, reserve, assessment, investments, planning, spreadsheet
|
||||
- Negative: scam, worst
|
||||
|
||||
### Schedule
|
||||
- 8:00 AM daily
|
||||
- 3:00 PM daily
|
||||
|
||||
### Output
|
||||
- Send digests to Telegram (current channel)
|
||||
|
||||
## Rules
|
||||
- Never spam promotional replies
|
||||
- Verify post recency (ignore stale content)
|
||||
- Score posts by: keyword match, upvotes, comments, recency
|
||||
- Include direct Reddit links
|
||||
- Flag posts with 10+ upvotes in first hour as "trending"
|
||||
- Draft replies must be helpful first, promotional never
|
||||
- Keep digests under 15 items
|
||||
|
||||
## Tone
|
||||
Like a financial analyst briefing a property manager. Professional, data-driven, actionable.
|
||||
|
||||
## Output Format
|
||||
|
||||
```
|
||||
🏘️ REDDIT SCOUT — HOA DIGEST
|
||||
📅 [DATE] | Scanned: r/HOA
|
||||
🎯 Matches: [Z] relevant posts
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
TOP OPPORTUNITIES
|
||||
━━━━━━━━━━━━━━━
|
||||
|
||||
1. [SCORE: 15] r/HOA (2h ago, 12↑, 8💬)
|
||||
"How do we budget for a $500k roof reserve?"
|
||||
Board asking for reserve study advice. Comments mention
|
||||
spreadsheet struggles. High intent for Ledger IQ.
|
||||
🔑 Keywords: budget, reserve, planning
|
||||
💡 Reply opportunity: YES
|
||||
🔗 https://reddit.com/r/...
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
TRENDING NOW
|
||||
━━━━━━━━━━━━━━━
|
||||
- "Reserve study costs doubled?!" — 45↑ in 2 hours
|
||||
- "Best HOA software for budgeting?" — 28💬
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
SENTIMENT
|
||||
━━━━━━━━━━━━━━━
|
||||
😤 Frustrated: 60% | 😐 Neutral: 30% | 😊 Positive: 10%
|
||||
Top pain: assessment increases, reserve confusion
|
||||
```
|
||||
9
agents/reddit-scout/cron.sh
Executable file
9
agents/reddit-scout/cron.sh
Executable file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
# Reddit Scout Schedule - 8am and 3pm daily
|
||||
cd /Users/claw/.openclaw/workspace/agents/reddit-scout
|
||||
export PATH="/opt/homebrew/bin:$PATH"
|
||||
|
||||
# Run at 8am and 3pm
|
||||
python3 scout.py >> /tmp/scout-$(date +%Y%m%d-%H%M).log 2>&1
|
||||
|
||||
echo "Reddit Scout run completed at $(date)" >> /Users/claw/.openclaw/workspace/agents/reddit-scout/logs/cron.log
|
||||
892
agents/reddit-scout/digests/digest-20260316-1853.json
Normal file
892
agents/reddit-scout/digests/digest-20260316-1853.json
Normal file
@@ -0,0 +1,892 @@
|
||||
{
|
||||
"timestamp": "2026-03-16T18:53:50.110650",
|
||||
"matches": 8,
|
||||
"posts": [
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "The title says it all. \n\nI made a terrible mistake buying this place and joined the board once I realized the finances were not good. I thought fairly funded sounded good as a buyer who read everything and just didnt know that 34% was bad until I joined and learned a ton and had another guy who was good with finances also join with a mission to get things in order. We had regular water shutoffs for huge chunks of the complex, we initiated a project to fix the water mains that the old board had ignored for 10+ years and water shutoffs happen extremely rarely now. \n\nI have over the last 5 years helped keep the reserves from completely hitting 0% funded and along with some other decent people have the finances on track to get the reserves up to a better level, right now were are 43% but a big outflow year will have that below 20 by EOY.\n\nBut now we have a contingent of complete lunatics who have ideas like self managing a 570+ unit 140+ bldg condo complex, theyve taken to screaming corruption without being at a meeting in years, want to put landscaping to levels that will leave us looking terrible and wasting water in a desert and declining property values. Claim we arent transparent when there is a financial PowerPoint monthly explaining where EVERY penny is going, all large jobs/bids are sealed bids from multiple vendors. \n\nIt looks like at least one of them will win and she is the craziest of them all, the management company is already preparing to quit since she has inundated them with 200+ emails in the last 2ish months and forced a cease and desist from managements lawyers for making baseless accusations of corruption. And this is just the beginning of her antics. Its pure lunacy that this woman and another 80+ yr old who is only interested in low assessments are likely to remove the 2 people laser focused on getting the reserves about 30% and keeping this place looking nice on a budget. I begged for more engagement a few years ago and it was crickets, now the lunatics are about to take over the asylum. I guess the lesson might be be careful what you wish for you just might get it. \n\nJust had to vent this. I want to sell and would if my market didnt shit the bed in the last year, I might rent it a year while losing a couple of hundred a month gambling the market comes back a bit. ",
|
||||
"author_fullname": "t2_1a97hvwzsa",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "[CONDO][NV] [VENT]Board about to be taken over by lunatics",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rv11k6",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.96,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 21,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Discussion / Knowledge Sharing",
|
||||
"can_mod_post": false,
|
||||
"score": 21,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773639404.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>The title says it all. </p>\n\n<p>I made a terrible mistake buying this place and joined the board once I realized the finances were not good. I thought fairly funded sounded good as a buyer who read everything and just didnt know that 34% was bad until I joined and learned a ton and had another guy who was good with finances also join with a mission to get things in order. We had regular water shutoffs for huge chunks of the complex, we initiated a project to fix the water mains that the old board had ignored for 10+ years and water shutoffs happen extremely rarely now. </p>\n\n<p>I have over the last 5 years helped keep the reserves from completely hitting 0% funded and along with some other decent people have the finances on track to get the reserves up to a better level, right now were are 43% but a big outflow year will have that below 20 by EOY.</p>\n\n<p>But now we have a contingent of complete lunatics who have ideas like self managing a 570+ unit 140+ bldg condo complex, theyve taken to screaming corruption without being at a meeting in years, want to put landscaping to levels that will leave us looking terrible and wasting water in a desert and declining property values. Claim we arent transparent when there is a financial PowerPoint monthly explaining where EVERY penny is going, all large jobs/bids are sealed bids from multiple vendors. </p>\n\n<p>It looks like at least one of them will win and she is the craziest of them all, the management company is already preparing to quit since she has inundated them with 200+ emails in the last 2ish months and forced a cease and desist from managements lawyers for making baseless accusations of corruption. And this is just the beginning of her antics. Its pure lunacy that this woman and another 80+ yr old who is only interested in low assessments are likely to remove the 2 people laser focused on getting the reserves about 30% and keeping this place looking nice on a budget. I begged for more engagement a few years ago and it was crickets, now the lunatics are about to take over the asylum. I guess the lesson might be be careful what you wish for you just might get it. </p>\n\n<p>Just had to vent this. I want to sell and would if my market didnt shit the bed in the last year, I might rent it a year while losing a couple of hundred a month gambling the market comes back a bit. </p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "7311bea2-e2bb-11ed-bcdb-aea1d5470c9a",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#91bf40",
|
||||
"id": "1rv11k6",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Merkel77101",
|
||||
"discussion_type": null,
|
||||
"num_comments": 43,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rv11k6/condonv_ventboard_about_to_be_taken_over_by/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rv11k6/condonv_ventboard_about_to_be_taken_over_by/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773639404.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 10,
|
||||
"keywords": [
|
||||
"budget",
|
||||
"reserve",
|
||||
"assessment"
|
||||
],
|
||||
"sentiment": "frustrated"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "My neighborhood does not have a legally established HOA. I checked this before buying the home. After a couple of years of living here, I received a flyer in my mailbox (not mailed, just placed there by someone) claiming to be from the HOA and asking for annual dues. \n\nThere was a Facebook group listed, so I went there to inform the that there is no legally established HOA, that claiming to be an HOA without legally establishing one is illegal, that posing as an HOA to ask for dues is fraud, and that putting things in people\u2019s mailboxes is illegal as well. I was really nice about it, like, \u201cHey you guys might not know this, but you could get in trouble.\u201d \n\nThey didn\u2019t stop, so I brought it up with them a couple more times and eventually they stopped adding \u201cHOA\u201d labels to things but kept operating the same. Years have passed and they are still pretending, presumably taking the money of people who don\u2019t know any better, and literally just using it to put up cheap looking decorations at the neighborhood entrance for Christmas. There is no public record of how much money they get or how it is spent.\n\nCurrently, there are signs put up at the entrances that say \u201c\\[Neighborhood Name\\]\n\nannual dues are due by \\[date\\]. Mail to \\[address\\].\u201d \n\nI honestly think these people might be well meaning because they do seem very proud of their cheap looking decorations and all, but it bothers me that people who don\u2019t know better are probably giving these people money without knowing that they aren\u2019t a real HOA.\n\nWould you do anything else at this point or just let it go?",
|
||||
"author_fullname": "t2_1qgq3b1o05",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "Fake HOA - Would you do something or just leave it alone?[N/A] [All]",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rv95w5",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.95,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 138,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Law, CC&Rs, Bylaws, Rules",
|
||||
"can_mod_post": false,
|
||||
"score": 138,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773667035.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>My neighborhood does not have a legally established HOA. I checked this before buying the home. After a couple of years of living here, I received a flyer in my mailbox (not mailed, just placed there by someone) claiming to be from the HOA and asking for annual dues. </p>\n\n<p>There was a Facebook group listed, so I went there to inform the that there is no legally established HOA, that claiming to be an HOA without legally establishing one is illegal, that posing as an HOA to ask for dues is fraud, and that putting things in people\u2019s mailboxes is illegal as well. I was really nice about it, like, \u201cHey you guys might not know this, but you could get in trouble.\u201d </p>\n\n<p>They didn\u2019t stop, so I brought it up with them a couple more times and eventually they stopped adding \u201cHOA\u201d labels to things but kept operating the same. Years have passed and they are still pretending, presumably taking the money of people who don\u2019t know any better, and literally just using it to put up cheap looking decorations at the neighborhood entrance for Christmas. There is no public record of how much money they get or how it is spent.</p>\n\n<p>Currently, there are signs put up at the entrances that say \u201c[Neighborhood Name]</p>\n\n<p>annual dues are due by [date]. Mail to [address].\u201d </p>\n\n<p>I honestly think these people might be well meaning because they do seem very proud of their cheap looking decorations and all, but it bothers me that people who don\u2019t know better are probably giving these people money without knowing that they aren\u2019t a real HOA.</p>\n\n<p>Would you do anything else at this point or just let it go?</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "60de8126-a2c1-11ef-b90e-9ac8230f042e",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#4071bf",
|
||||
"id": "1rv95w5",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "luckyswan69",
|
||||
"discussion_type": null,
|
||||
"num_comments": 83,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rv95w5/fake_hoa_would_you_do_something_or_just_leave_it/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rv95w5/fake_hoa_would_you_do_something_or_just_leave_it/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773667035.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 8,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "Basically my home had Swallow nests settling under the overhangs of our roof. After some time I believe they were removed by HOA and netting was applied to prevent this from happening. However, HOA never notified us of anything related to the swallow nests (their presence, the removal, etc.). We now have a swallow bug infestation and are paying $2K to combat the issue. Is this something we are within our rights to bring up with HOA and is there anything we are able to hold them accountable for?",
|
||||
"author_fullname": "t2_92sgbla0",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "Swallow nests outside my house and were removed by HOA. We now have a swallow bug infestation\u2026 is it appropriate to bring it up with HOA? [TH] [CA]",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1runpv3",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.86,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 32,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Damage, Insurance",
|
||||
"can_mod_post": false,
|
||||
"score": 32,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773604048.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Basically my home had Swallow nests settling under the overhangs of our roof. After some time I believe they were removed by HOA and netting was applied to prevent this from happening. However, HOA never notified us of anything related to the swallow nests (their presence, the removal, etc.). We now have a swallow bug infestation and are paying $2K to combat the issue. Is this something we are within our rights to bring up with HOA and is there anything we are able to hold them accountable for?</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "39b6c388-a2c1-11ef-b68b-167f1126d6ba",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#bf4059",
|
||||
"id": "1runpv3",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "InstructionSpecial47",
|
||||
"discussion_type": null,
|
||||
"num_comments": 21,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1runpv3/swallow_nests_outside_my_house_and_were_removed/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1runpv3/swallow_nests_outside_my_house_and_were_removed/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773604048.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 7,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "I was recently called to a hearing by my HOA for excessive dog barking and I\u2019m trying to understand how to handle it and what I can do better.\n\nBack in December, I received a warning about my dog being on the balcony unattended. Since then, I\u2019ve made sure that whenever my dog goes onto the balcony, I am with her. The only reason she goes out there is because we have a porch potty set up for her.\n\nAfter receiving that warning, we also made a big change to her routine. She now goes to doggy daycare from 6:30 AM to 6:30 PM, and she\u2019s usually asleep by around 9 PM, so realistically there\u2019s only about a 3-hour window in the evening where she\u2019s even awake at home.\n\nShe does bark sometimes, but it\u2019s usually in response to the dogs directly across from us. They have two dogs that bark at her when they see her, and that tends to trigger the barking. There are also times when she\u2019ll bark briefly inside if other dogs in the neighborhood are barking outside.\n\nWhen she does bark, I correct it and bring her inside or get her to stop, and it normally lasts under a minute before I intervene.\n\nWe\u2019ve also recently contracted a trainer to help us work on reducing the barking, specifically focusing on how to train her not to react when other dogs bark at her.\n\nWhat I\u2019m struggling with is understanding where the line is between normal dog behavior vs. something the HOA would consider excessive. In my neighborhood, it\u2019s pretty common to hear dogs barking, there are dogs in the building behind us that bark frequently and other dogs around the complex that bark when they hear each other.\n\nI want to handle the hearing the right way and not make the situation worse. My goal is to show that I\u2019m trying to be responsible and proactive.\n\nFor those of you who have dealt with HOA complaints or hearings before:\n\n\t\u2022\tHow would you approach the hearing?\n\n\t\u2022\tIs there anything I should bring (documentation, proof of daycare schedule, trainer, etc.)?\n\n\t\u2022\tWhat steps would you suggest to show I\u2019m actively trying to prevent barking?\n\nI genuinely want to be a good neighbor and resolve this, but I\u2019m not sure what else I should be doing differently.\n\nAny advice would be appreciated.",
|
||||
"author_fullname": "t2_cjea3ui9",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "[condo][CA] HOA hearing for dog barking looking for advice on how to handle it",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rvav8r",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 1.0,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 14,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": " Help: Enforcement, Violations, Fines",
|
||||
"can_mod_post": false,
|
||||
"score": 14,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773671053.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I was recently called to a hearing by my HOA for excessive dog barking and I\u2019m trying to understand how to handle it and what I can do better.</p>\n\n<p>Back in December, I received a warning about my dog being on the balcony unattended. Since then, I\u2019ve made sure that whenever my dog goes onto the balcony, I am with her. The only reason she goes out there is because we have a porch potty set up for her.</p>\n\n<p>After receiving that warning, we also made a big change to her routine. She now goes to doggy daycare from 6:30 AM to 6:30 PM, and she\u2019s usually asleep by around 9 PM, so realistically there\u2019s only about a 3-hour window in the evening where she\u2019s even awake at home.</p>\n\n<p>She does bark sometimes, but it\u2019s usually in response to the dogs directly across from us. They have two dogs that bark at her when they see her, and that tends to trigger the barking. There are also times when she\u2019ll bark briefly inside if other dogs in the neighborhood are barking outside.</p>\n\n<p>When she does bark, I correct it and bring her inside or get her to stop, and it normally lasts under a minute before I intervene.</p>\n\n<p>We\u2019ve also recently contracted a trainer to help us work on reducing the barking, specifically focusing on how to train her not to react when other dogs bark at her.</p>\n\n<p>What I\u2019m struggling with is understanding where the line is between normal dog behavior vs. something the HOA would consider excessive. In my neighborhood, it\u2019s pretty common to hear dogs barking, there are dogs in the building behind us that bark frequently and other dogs around the complex that bark when they hear each other.</p>\n\n<p>I want to handle the hearing the right way and not make the situation worse. My goal is to show that I\u2019m trying to be responsible and proactive.</p>\n\n<p>For those of you who have dealt with HOA complaints or hearings before:</p>\n\n<pre><code>\u2022 How would you approach the hearing?\n\n\u2022 Is there anything I should bring (documentation, proof of daycare schedule, trainer, etc.)?\n\n\u2022 What steps would you suggest to show I\u2019m actively trying to prevent barking?\n</code></pre>\n\n<p>I genuinely want to be a good neighbor and resolve this, but I\u2019m not sure what else I should be doing differently.</p>\n\n<p>Any advice would be appreciated.</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "435037f8-a2c1-11ef-9c6f-52d83b4c7587",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#bf5e40",
|
||||
"id": "1rvav8r",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Pleasant_Poem8114",
|
||||
"discussion_type": null,
|
||||
"num_comments": 39,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rvav8r/condoca_hoa_hearing_for_dog_barking_looking_for/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rvav8r/condoca_hoa_hearing_for_dog_barking_looking_for/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773671053.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 6,
|
||||
"keywords": [],
|
||||
"sentiment": "positive"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "\"I\u2019m three months into owning my first home, and I\u2019m already dealing with peak HOA nonsense.\n\nI live in a subdivision with a very strict board, so before buying, I read the bylaws carefully. Nothing about backyard furniture beyond basic safety and nuisance rules. I figured as long as I kept things clean and out of sight, I\u2019d be fine.\n\nLast weekend I hosted a small housewarming party. About twenty people. I needed extra seating and I\u2019m house poor right now, so I checked out for four heavy-duty outdoor benches, checked Amazon and Alibaba, and finally found a supplier. They\u2019re the kind you see in public parks: steel frame, coated, ugly but solid. They were cheap, they work, and they were placed fully inside my fenced backyard.\n\nDuring the party, my next-door neighbor leaned over the fence and asked if I was \u201copening a bus station.\u201d No hello, no conversation. Just that. I ignored it.\n\nMonday morning I woke up to a violation notice taped to my door. The HOA cited me for \u201ccommercial grade fixtures\u201d in a residential property and referenced clauses about unauthorized signage and non-permanent structures. There is no sign. There is no rule about furniture being commercial based on appearance or durability. These benches are not rented, branded, or used for business.\n\nI attended the board meeting and pointed this out. I asked them to show me where backyard furniture material or design is restricted. They couldn\u2019t. Instead, I got vague comments about community standards and appearance. When I mentioned that other neighbors have cheap plastic chairs that look like they came from a gas station, the board shut the discussion down.\n\nAt this point, it feels less like enforcement and more like catering to one neighbor\u2019s taste. These benches are in my backyard, behind a fence, not visible from the street.\n\nHas anyone successfully pushed back on an HOA over furniture like this? Is this worth formally disputing, or is the reality that HOAs can just make things up as they go?\"",
|
||||
"author_fullname": "t2_8cpgqdfh",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "[SFH] [TX] HOA cited me for \u201ccommercial grade fixtures\u201d because my neighbor didn\u2019t like my backyard furniture",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1ruh6on",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.96,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 905,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": " Help: Enforcement, Violations, Fines",
|
||||
"can_mod_post": false,
|
||||
"score": 905,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773589048.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>&quot;I\u2019m three months into owning my first home, and I\u2019m already dealing with peak HOA nonsense.</p>\n\n<p>I live in a subdivision with a very strict board, so before buying, I read the bylaws carefully. Nothing about backyard furniture beyond basic safety and nuisance rules. I figured as long as I kept things clean and out of sight, I\u2019d be fine.</p>\n\n<p>Last weekend I hosted a small housewarming party. About twenty people. I needed extra seating and I\u2019m house poor right now, so I checked out for four heavy-duty outdoor benches, checked Amazon and Alibaba, and finally found a supplier. They\u2019re the kind you see in public parks: steel frame, coated, ugly but solid. They were cheap, they work, and they were placed fully inside my fenced backyard.</p>\n\n<p>During the party, my next-door neighbor leaned over the fence and asked if I was \u201copening a bus station.\u201d No hello, no conversation. Just that. I ignored it.</p>\n\n<p>Monday morning I woke up to a violation notice taped to my door. The HOA cited me for \u201ccommercial grade fixtures\u201d in a residential property and referenced clauses about unauthorized signage and non-permanent structures. There is no sign. There is no rule about furniture being commercial based on appearance or durability. These benches are not rented, branded, or used for business.</p>\n\n<p>I attended the board meeting and pointed this out. I asked them to show me where backyard furniture material or design is restricted. They couldn\u2019t. Instead, I got vague comments about community standards and appearance. When I mentioned that other neighbors have cheap plastic chairs that look like they came from a gas station, the board shut the discussion down.</p>\n\n<p>At this point, it feels less like enforcement and more like catering to one neighbor\u2019s taste. These benches are in my backyard, behind a fence, not visible from the street.</p>\n\n<p>Has anyone successfully pushed back on an HOA over furniture like this? Is this worth formally disputing, or is the reality that HOAs can just make things up as they go?&quot;</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "435037f8-a2c1-11ef-9c6f-52d83b4c7587",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#bf5e40",
|
||||
"id": "1ruh6on",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Hyzz20",
|
||||
"discussion_type": null,
|
||||
"num_comments": 166,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1ruh6on/sfh_tx_hoa_cited_me_for_commercial_grade_fixtures/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1ruh6on/sfh_tx_hoa_cited_me_for_commercial_grade_fixtures/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773589048.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 6,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "If the HOA knowingly hires a contractor whose equipment is regularly violating local noise ordinances, does the HOA have any responsibility or liability?",
|
||||
"author_fullname": "t2_oupuazzfv",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "HOA culpability if contractor they hire is violating local ordinances [NY] [Condo]?",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rvgow8",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 1.0,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 1,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Law, CC&Rs, Bylaws, Rules",
|
||||
"can_mod_post": false,
|
||||
"score": 1,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773683462.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>If the HOA knowingly hires a contractor whose equipment is regularly violating local noise ordinances, does the HOA have any responsibility or liability?</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": true,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "60de8126-a2c1-11ef-b90e-9ac8230f042e",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#4071bf",
|
||||
"id": "1rvgow8",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Poster25000",
|
||||
"discussion_type": null,
|
||||
"num_comments": 22,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rvgow8/hoa_culpability_if_contractor_they_hire_is/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rvgow8/hoa_culpability_if_contractor_they_hire_is/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773683462.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 5,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "Hi, \n\nI'm on a board for a 32-unit HOA in the SF Bay, and I'm trying to make sense out of the financials. I've been using ai to lay our actuals over our reserve study. It's a pretty ugly picture. 60 year old elevators, tons of deferred maintenance, 29% funded \n\nSo, I started using Ai to write software to make sense out of the data and to see how to bridge the gaps. Anyone can do this. Just upload the reserve study and last years actuals, and ask the Ai to make pretty graphs. \n\nLong story short, I started wondering if anyone else was doing this, and the next thing I knew, I was spending all my time vibe-coding a way of making our HOAs financials more transparent. \n\nIf you were me and trying to get the rest of the board engaged, what are the pain points YOU would like to address? (mine was just visibility into just how over our heads our HOA is). Pretty deep. Has anyone else been using Ai to try to make sense of things.\n\nThanks! ",
|
||||
"author_fullname": "t2_3p5cr",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "[CA][CONDO] Using Ai to make sense out of data",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rv07fb",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.36,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 0,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Discussion / Knowledge Sharing",
|
||||
"can_mod_post": false,
|
||||
"score": 0,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773636581.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Hi, </p>\n\n<p>I&#39;m on a board for a 32-unit HOA in the SF Bay, and I&#39;m trying to make sense out of the financials. I&#39;ve been using ai to lay our actuals over our reserve study. It&#39;s a pretty ugly picture. 60 year old elevators, tons of deferred maintenance, 29% funded </p>\n\n<p>So, I started using Ai to write software to make sense out of the data and to see how to bridge the gaps. Anyone can do this. Just upload the reserve study and last years actuals, and ask the Ai to make pretty graphs. </p>\n\n<p>Long story short, I started wondering if anyone else was doing this, and the next thing I knew, I was spending all my time vibe-coding a way of making our HOAs financials more transparent. </p>\n\n<p>If you were me and trying to get the rest of the board engaged, what are the pain points YOU would like to address? (mine was just visibility into just how over our heads our HOA is). Pretty deep. Has anyone else been using Ai to try to make sense of things.</p>\n\n<p>Thanks! </p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": true,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "7311bea2-e2bb-11ed-bcdb-aea1d5470c9a",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#91bf40",
|
||||
"id": "1rv07fb",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "nakriker",
|
||||
"discussion_type": null,
|
||||
"num_comments": 53,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rv07fb/cacondo_using_ai_to_make_sense_out_of_data/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rv07fb/cacondo_using_ai_to_make_sense_out_of_data/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773636581.0,
|
||||
"num_crossposts": 1,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 5,
|
||||
"keywords": [
|
||||
"reserve"
|
||||
],
|
||||
"sentiment": "positive"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "I am looking at getting a boat and I\u2019m thinking of where to store it. I would have room in my driveway but the townhouse hoa restricts it. Not sure why but just posting to see if this is something people actually care about. Hoa rules also says no parking in the street and people park in the street all the time. Townhouses are nice but not super fancy built in the early 2000s. Is this something they would enforce? Would you be upset if a neighbor had a boat covered up in his driveway? ",
|
||||
"author_fullname": "t2_16g4a00x8g",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "Boat not allowed to be parked in townhouse driveway enforced? [th] [mo]",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rv0752",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.5,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 0,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": " Help: Enforcement, Violations, Fines",
|
||||
"can_mod_post": false,
|
||||
"score": 0,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773636556.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>I am looking at getting a boat and I\u2019m thinking of where to store it. I would have room in my driveway but the townhouse hoa restricts it. Not sure why but just posting to see if this is something people actually care about. Hoa rules also says no parking in the street and people park in the street all the time. Townhouses are nice but not super fancy built in the early 2000s. Is this something they would enforce? Would you be upset if a neighbor had a boat covered up in his driveway? </p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": true,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "435037f8-a2c1-11ef-9c6f-52d83b4c7587",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#bf5e40",
|
||||
"id": "1rv0752",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Ok_Supermarket3300",
|
||||
"discussion_type": null,
|
||||
"num_comments": 65,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rv0752/boat_not_allowed_to_be_parked_in_townhouse/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rv0752/boat_not_allowed_to_be_parked_in_townhouse/",
|
||||
"subreddit_subscribers": 53086,
|
||||
"created_utc": 1773636556.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 5,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
}
|
||||
]
|
||||
}
|
||||
232
agents/reddit-scout/digests/digest-20260317-0800.json
Normal file
232
agents/reddit-scout/digests/digest-20260317-0800.json
Normal file
@@ -0,0 +1,232 @@
|
||||
{
|
||||
"timestamp": "2026-03-17T08:00:02.745476",
|
||||
"matches": 2,
|
||||
"posts": [
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "**The concern here is with the board of directors, specifically the board president, and the management company (MSI) that administers the association.**\n\nI\u2019m a homeowner in a 223-home single family HOA in Colorado. I\u2019m posting because I\u2019ve exhausted most of the options available to me at the board level and I\u2019m looking for perspective from people who have dealt with similar situations.\n\nHere is a documented account of what has happened over the past two years.\n\n**The financials**\n\nUnder the current board president, day-to-day operating costs have increased 31% and reserve fund contributions have been cut by 59%. Legal fees alone jumped 74% in a single year. The board budgeted for a reserve study, never commissioned one, and cut reserve contributions anyway. Colorado law requires the association to follow its own reserve study policy, which mandates one.\n\n**How the board majority was assembled**\n\nWhen several longstanding board members resigned, the president appointed two allies to fill the vacant seats without an election. The result is a permanent 3-2 majority that has voted however the president dictates on every issue since.\n\n**The recall campaign** \n\nIn late 2025, a group of homeowners organized a recall campaign. During the campaign, the president directed the HOA\u2019s legal counsel to send a letter to all 223 homeowners. The letter stated that sharing statements about the board \u201cmay expose the maker to potential legal liability, including civil claims for defamation\u201d and that this applies \u201ceven if such statements are repeated or shared among community members.\u201d\n\nAt the recall meeting, proxy votes were counted for the president\u2019s side without signed forms to support them. Homeowners who attended in person were told they could not revoke their previously submitted proxy and vote themselves, which is their right under Colorado law.\n\nObviously, the recall effort failed.\n\n**The mailbox keys**\n\nWhen the neighborhood\u2019s mailbox pods were replaced, homeowners were required to sign proxy forms to receive their new keys. Those proxies were then used at the January 2026 annual meeting during the board election.\n\n**The January 2026 election**\n\nReform candidates won seats on the board. The HOA\u2019s own policy requires vote totals to be announced at the meeting. Eight weeks later the president has not disclosed the final numbers.\n\nDuring the meeting, the board majority read a series of \u201canonymous questions\u201d directed at one of the reform candidates that homeowners in attendance described as personal attacks rather than genuine questions.\n\n**The current situation**\n\nOne of the newly elected board members serves as Secretary. She sent homeowners a meeting notice for an upcoming board meeting in which the president intends to vote to rewrite our bylaws and reserve study policy. After the notice went out, the president moved the meeting date, causing confusion and blindsiding the Secretary, who then immediately issued an updated meeting notice.\n\nThe president responded by distributing an \u201cofficial\u201d bulletin through the HOA\u2019s portal to all 223 homeowners stating the Secretary\u2019s notice was not approved by the board, contained inaccurate information, and that homeowner personal information had been used inappropriately. None of those claims are accurate.\n\nCommenting on the bulletin was disabled and the Secretary\u2019s ability to post on the HOA\u2019s official communication platform was removed when she took office.\n\n**Has anyone navigated a situation like this successfully?**\n\nParticularly interested in whether others have had success with Colorado\u2019s Division of Real Estate complaint process, compelling an independent audit, or building a case for a targeted recall under CCIOA.",
|
||||
"author_fullname": "t2_2a9c9t19xj",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "President withheld mailbox keys until homeowners signed proxies, then used them in the board election. That's just one item on the list. [CO] [SFH]",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rvun79",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.75,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 2,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Law, CC&Rs, Bylaws, Rules",
|
||||
"can_mod_post": false,
|
||||
"score": 2,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773715406.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p><strong>The concern here is with the board of directors, specifically the board president, and the management company (MSI) that administers the association.</strong></p>\n\n<p>I\u2019m a homeowner in a 223-home single family HOA in Colorado. I\u2019m posting because I\u2019ve exhausted most of the options available to me at the board level and I\u2019m looking for perspective from people who have dealt with similar situations.</p>\n\n<p>Here is a documented account of what has happened over the past two years.</p>\n\n<p><strong>The financials</strong></p>\n\n<p>Under the current board president, day-to-day operating costs have increased 31% and reserve fund contributions have been cut by 59%. Legal fees alone jumped 74% in a single year. The board budgeted for a reserve study, never commissioned one, and cut reserve contributions anyway. Colorado law requires the association to follow its own reserve study policy, which mandates one.</p>\n\n<p><strong>How the board majority was assembled</strong></p>\n\n<p>When several longstanding board members resigned, the president appointed two allies to fill the vacant seats without an election. The result is a permanent 3-2 majority that has voted however the president dictates on every issue since.</p>\n\n<p><strong>The recall campaign</strong> </p>\n\n<p>In late 2025, a group of homeowners organized a recall campaign. During the campaign, the president directed the HOA\u2019s legal counsel to send a letter to all 223 homeowners. The letter stated that sharing statements about the board \u201cmay expose the maker to potential legal liability, including civil claims for defamation\u201d and that this applies \u201ceven if such statements are repeated or shared among community members.\u201d</p>\n\n<p>At the recall meeting, proxy votes were counted for the president\u2019s side without signed forms to support them. Homeowners who attended in person were told they could not revoke their previously submitted proxy and vote themselves, which is their right under Colorado law.</p>\n\n<p>Obviously, the recall effort failed.</p>\n\n<p><strong>The mailbox keys</strong></p>\n\n<p>When the neighborhood\u2019s mailbox pods were replaced, homeowners were required to sign proxy forms to receive their new keys. Those proxies were then used at the January 2026 annual meeting during the board election.</p>\n\n<p><strong>The January 2026 election</strong></p>\n\n<p>Reform candidates won seats on the board. The HOA\u2019s own policy requires vote totals to be announced at the meeting. Eight weeks later the president has not disclosed the final numbers.</p>\n\n<p>During the meeting, the board majority read a series of \u201canonymous questions\u201d directed at one of the reform candidates that homeowners in attendance described as personal attacks rather than genuine questions.</p>\n\n<p><strong>The current situation</strong></p>\n\n<p>One of the newly elected board members serves as Secretary. She sent homeowners a meeting notice for an upcoming board meeting in which the president intends to vote to rewrite our bylaws and reserve study policy. After the notice went out, the president moved the meeting date, causing confusion and blindsiding the Secretary, who then immediately issued an updated meeting notice.</p>\n\n<p>The president responded by distributing an \u201cofficial\u201d bulletin through the HOA\u2019s portal to all 223 homeowners stating the Secretary\u2019s notice was not approved by the board, contained inaccurate information, and that homeowner personal information had been used inappropriately. None of those claims are accurate.</p>\n\n<p>Commenting on the bulletin was disabled and the Secretary\u2019s ability to post on the HOA\u2019s official communication platform was removed when she took office.</p>\n\n<p><strong>Has anyone navigated a situation like this successfully?</strong></p>\n\n<p>Particularly interested in whether others have had success with Colorado\u2019s Division of Real Estate complaint process, compelling an independent audit, or building a case for a targeted recall under CCIOA.</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": true,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "60de8126-a2c1-11ef-b90e-9ac8230f042e",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#4071bf",
|
||||
"id": "1rvun79",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "ChoiceObject3842",
|
||||
"discussion_type": null,
|
||||
"num_comments": 12,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rvun79/president_withheld_mailbox_keys_until_homeowners/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rvun79/president_withheld_mailbox_keys_until_homeowners/",
|
||||
"subreddit_subscribers": 53112,
|
||||
"created_utc": 1773715406.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 6,
|
||||
"keywords": [
|
||||
"budget",
|
||||
"reserve"
|
||||
],
|
||||
"sentiment": "neutral"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "A buyer was denied a conventional loan saying the lender said it didnt qualify since the HOA was not allocating 10% of its budget to fund the reserves. They claimed it was a Fannie Mae and Freddie Mac requirement. Current reserves were more an 35% of total budget. Anyone run into this recently. It had never come up on previous purchases. ",
|
||||
"author_fullname": "t2_n1s79d4a",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "Lender Requirements for [condo] loans [IN]",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rvrigi",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.67,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 1,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Fees, Reserves",
|
||||
"can_mod_post": false,
|
||||
"score": 1,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773707251.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>A buyer was denied a conventional loan saying the lender said it didnt qualify since the HOA was not allocating 10% of its budget to fund the reserves. They claimed it was a Fannie Mae and Freddie Mac requirement. Current reserves were more an 35% of total budget. Anyone run into this recently. It had never come up on previous purchases. </p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": true,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "1258d5ce-a2c1-11ef-a315-3269073655d2",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#40bf4c",
|
||||
"id": "1rvrigi",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Knave1212",
|
||||
"discussion_type": null,
|
||||
"num_comments": 4,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rvrigi/lender_requirements_for_condo_loans_in/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rvrigi/lender_requirements_for_condo_loans_in/",
|
||||
"subreddit_subscribers": 53112,
|
||||
"created_utc": 1773707251.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 5,
|
||||
"keywords": [
|
||||
"budget",
|
||||
"reserve"
|
||||
],
|
||||
"sentiment": "neutral"
|
||||
}
|
||||
]
|
||||
}
|
||||
5
agents/reddit-scout/digests/digest-20260317-1500.json
Normal file
5
agents/reddit-scout/digests/digest-20260317-1500.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-03-17T15:00:01.824502",
|
||||
"matches": 0,
|
||||
"posts": []
|
||||
}
|
||||
116
agents/reddit-scout/digests/digest-20260318-0800.json
Normal file
116
agents/reddit-scout/digests/digest-20260318-0800.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"timestamp": "2026-03-18T08:00:01.963064",
|
||||
"matches": 1,
|
||||
"posts": [
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "Seeing more Houston condo buyers hit the brakes once they see the HOA fees. What used to be $300/month is creeping toward $600-$800 in a lot of buildings.\n\nAt that point, buyers start questioning if it even makes sense over renting or just buying a house instead.\n\nAre HOA fees becoming a dealbreaker for you? Curious what others are seeing out there.",
|
||||
"author_fullname": "t2_25t6syvmt3",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "Anyone else noticing buyers hesitate once they see Houston [TX] [Condo] HOA fees?",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rwh9gb",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.59,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 3,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Discussion / Knowledge Sharing",
|
||||
"can_mod_post": false,
|
||||
"score": 3,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773776945.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Seeing more Houston condo buyers hit the brakes once they see the HOA fees. What used to be $300/month is creeping toward $600-$800 in a lot of buildings.</p>\n\n<p>At that point, buyers start questioning if it even makes sense over renting or just buying a house instead.</p>\n\n<p>Are HOA fees becoming a dealbreaker for you? Curious what others are seeing out there.</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "7311bea2-e2bb-11ed-bcdb-aea1d5470c9a",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#91bf40",
|
||||
"id": "1rwh9gb",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "AgentElissaHughes",
|
||||
"discussion_type": null,
|
||||
"num_comments": 22,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rwh9gb/anyone_else_noticing_buyers_hesitate_once_they/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rwh9gb/anyone_else_noticing_buyers_hesitate_once_they/",
|
||||
"subreddit_subscribers": 53157,
|
||||
"created_utc": 1773776945.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 5,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
}
|
||||
]
|
||||
}
|
||||
5
agents/reddit-scout/digests/digest-20260318-1500.json
Normal file
5
agents/reddit-scout/digests/digest-20260318-1500.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-03-18T15:00:01.684204",
|
||||
"matches": 0,
|
||||
"posts": []
|
||||
}
|
||||
5
agents/reddit-scout/digests/digest-20260319-0800.json
Normal file
5
agents/reddit-scout/digests/digest-20260319-0800.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-03-19T08:00:02.426570",
|
||||
"matches": 0,
|
||||
"posts": []
|
||||
}
|
||||
5
agents/reddit-scout/digests/digest-20260319-1500.json
Normal file
5
agents/reddit-scout/digests/digest-20260319-1500.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-03-19T15:00:03.254222",
|
||||
"matches": 0,
|
||||
"posts": []
|
||||
}
|
||||
116
agents/reddit-scout/digests/digest-20260320-0800.json
Normal file
116
agents/reddit-scout/digests/digest-20260320-0800.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"timestamp": "2026-03-20T08:00:01.472085",
|
||||
"matches": 1,
|
||||
"posts": [
|
||||
{
|
||||
"data": {
|
||||
"approved_at_utc": null,
|
||||
"subreddit": "HOA",
|
||||
"selftext": "Never dreamed this would be an issue, but we've had multiple homeowners come to us about a rat, mouse, and now squirrel infestation in the neighborhood. They are chewing wires on homes, nesting in attics and crawlspaces, tearing up insulation, and digging into roofs.\n\n \nEvery exterminator that comes out says the same thing: this neighborhood is known as a problem area, and it's mostly due to bird feeders full of seed, and even people leaving out open buckets of peanuts. And birds are never the only animals to take advantage of a limitless easy food source.\n\n \nIt seems this year, rodent populations have exploded. People are dealong with thousands in treatment costs, and tens of thousands in damages.\n\n \nWondering if any boards have taken the steps to ban bird feeders, and feeding wildlife in general in the neighborhood. Seems ridiculous on the surface, but the damage being caused is real and easily preventable. What was the reaction in the community like? How was enforcement handled? Thanks.",
|
||||
"author_fullname": "t2_27q9tn6xd1",
|
||||
"saved": false,
|
||||
"mod_reason_title": null,
|
||||
"gilded": 0,
|
||||
"clicked": false,
|
||||
"title": "[All] [N/A] Have any of your HOAs banned bird feeders?",
|
||||
"link_flair_richtext": [],
|
||||
"subreddit_name_prefixed": "r/HOA",
|
||||
"hidden": false,
|
||||
"pwls": 6,
|
||||
"link_flair_css_class": "",
|
||||
"downs": 0,
|
||||
"top_awarded_type": null,
|
||||
"hide_score": false,
|
||||
"name": "t3_1rybxj0",
|
||||
"quarantine": false,
|
||||
"link_flair_text_color": "dark",
|
||||
"upvote_ratio": 0.75,
|
||||
"author_flair_background_color": null,
|
||||
"subreddit_type": "public",
|
||||
"ups": 8,
|
||||
"total_awards_received": 0,
|
||||
"media_embed": {},
|
||||
"author_flair_template_id": null,
|
||||
"is_original_content": false,
|
||||
"user_reports": [],
|
||||
"secure_media": null,
|
||||
"is_reddit_media_domain": false,
|
||||
"is_meta": false,
|
||||
"category": null,
|
||||
"secure_media_embed": {},
|
||||
"link_flair_text": "Help: Law, CC&Rs, Bylaws, Rules",
|
||||
"can_mod_post": false,
|
||||
"score": 8,
|
||||
"approved_by": null,
|
||||
"is_created_from_ads_ui": false,
|
||||
"author_premium": false,
|
||||
"thumbnail": "",
|
||||
"edited": false,
|
||||
"author_flair_css_class": null,
|
||||
"author_flair_richtext": [],
|
||||
"gildings": {},
|
||||
"content_categories": null,
|
||||
"is_self": true,
|
||||
"mod_note": null,
|
||||
"created": 1773953259.0,
|
||||
"link_flair_type": "text",
|
||||
"wls": 6,
|
||||
"removed_by_category": null,
|
||||
"banned_by": null,
|
||||
"author_flair_type": "text",
|
||||
"domain": "self.HOA",
|
||||
"allow_live_comments": false,
|
||||
"selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>Never dreamed this would be an issue, but we&#39;ve had multiple homeowners come to us about a rat, mouse, and now squirrel infestation in the neighborhood. They are chewing wires on homes, nesting in attics and crawlspaces, tearing up insulation, and digging into roofs.</p>\n\n<p>Every exterminator that comes out says the same thing: this neighborhood is known as a problem area, and it&#39;s mostly due to bird feeders full of seed, and even people leaving out open buckets of peanuts. And birds are never the only animals to take advantage of a limitless easy food source.</p>\n\n<p>It seems this year, rodent populations have exploded. People are dealong with thousands in treatment costs, and tens of thousands in damages.</p>\n\n<p>Wondering if any boards have taken the steps to ban bird feeders, and feeding wildlife in general in the neighborhood. Seems ridiculous on the surface, but the damage being caused is real and easily preventable. What was the reaction in the community like? How was enforcement handled? Thanks.</p>\n</div><!-- SC_ON -->",
|
||||
"likes": null,
|
||||
"suggested_sort": null,
|
||||
"banned_at_utc": null,
|
||||
"view_count": null,
|
||||
"archived": false,
|
||||
"no_follow": false,
|
||||
"is_crosspostable": false,
|
||||
"pinned": false,
|
||||
"over_18": false,
|
||||
"all_awardings": [],
|
||||
"awarders": [],
|
||||
"media_only": false,
|
||||
"link_flair_template_id": "60de8126-a2c1-11ef-b90e-9ac8230f042e",
|
||||
"can_gild": false,
|
||||
"spoiler": false,
|
||||
"locked": false,
|
||||
"author_flair_text": null,
|
||||
"treatment_tags": [],
|
||||
"visited": false,
|
||||
"removed_by": null,
|
||||
"num_reports": null,
|
||||
"distinguished": null,
|
||||
"subreddit_id": "t5_2vzym",
|
||||
"author_is_blocked": false,
|
||||
"mod_reason_by": null,
|
||||
"removal_reason": null,
|
||||
"link_flair_background_color": "#4071bf",
|
||||
"id": "1rybxj0",
|
||||
"is_robot_indexable": true,
|
||||
"report_reasons": null,
|
||||
"author": "Brilliant-Nail3706",
|
||||
"discussion_type": null,
|
||||
"num_comments": 36,
|
||||
"send_replies": true,
|
||||
"contest_mode": false,
|
||||
"mod_reports": [],
|
||||
"author_patreon_flair": false,
|
||||
"author_flair_text_color": null,
|
||||
"permalink": "/r/HOA/comments/1rybxj0/all_na_have_any_of_your_hoas_banned_bird_feeders/",
|
||||
"stickied": false,
|
||||
"url": "https://www.reddit.com/r/HOA/comments/1rybxj0/all_na_have_any_of_your_hoas_banned_bird_feeders/",
|
||||
"subreddit_subscribers": 53252,
|
||||
"created_utc": 1773953259.0,
|
||||
"num_crossposts": 0,
|
||||
"media": null,
|
||||
"is_video": false
|
||||
},
|
||||
"score": 6,
|
||||
"keywords": [],
|
||||
"sentiment": "neutral"
|
||||
}
|
||||
]
|
||||
}
|
||||
7
agents/reddit-scout/logs/cron.log
Normal file
7
agents/reddit-scout/logs/cron.log
Normal file
@@ -0,0 +1,7 @@
|
||||
Reddit Scout run completed at Tue Mar 17 08:00:02 EDT 2026
|
||||
Reddit Scout run completed at Tue Mar 17 15:00:01 EDT 2026
|
||||
Reddit Scout run completed at Wed Mar 18 08:00:01 EDT 2026
|
||||
Reddit Scout run completed at Wed Mar 18 15:00:01 EDT 2026
|
||||
Reddit Scout run completed at Thu Mar 19 08:00:02 EDT 2026
|
||||
Reddit Scout run completed at Thu Mar 19 15:00:03 EDT 2026
|
||||
Reddit Scout run completed at Fri Mar 20 08:00:01 EDT 2026
|
||||
13
agents/reddit-scout/logs/scout-20260316.log
Normal file
13
agents/reddit-scout/logs/scout-20260316.log
Normal file
@@ -0,0 +1,13 @@
|
||||
[18:53:49] === Reddit Scout Starting ===
|
||||
[18:53:50] Fetched 50 posts from r/HOA
|
||||
[18:53:50] 🏘️ *REDDIT SCOUT — HOA DIGEST*
|
||||
📅 Mar 16, 2026 at 06:53 PM
|
||||
🎯 *8 relevant posts found*
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
*TOP OPPORTUNITIES*
|
||||
━━━━━━━━━━━━━━━
|
||||
|
||||
*1.* [10 pts] r/HOA (17h ago)
|
||||
📌 *[CONDO][NV] [VENT]Board abou...
|
||||
[18:53:50] === Done: 8 matches | Total scanned: 50 ===
|
||||
17
agents/reddit-scout/logs/scout-20260317.log
Normal file
17
agents/reddit-scout/logs/scout-20260317.log
Normal file
@@ -0,0 +1,17 @@
|
||||
[08:00:00] === Reddit Scout Starting ===
|
||||
[08:00:02] Fetched 50 posts from r/HOA
|
||||
[08:00:02] 🏘️ *REDDIT SCOUT — HOA DIGEST*
|
||||
📅 Mar 17, 2026 at 08:00 AM
|
||||
🎯 *2 relevant posts found*
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
*TOP OPPORTUNITIES*
|
||||
━━━━━━━━━━━━━━━
|
||||
|
||||
*1.* [6 pts] r/HOA (9h ago)
|
||||
📌 *President withheld mailbox key...
|
||||
[08:00:02] === Done: 2 matches | Total scanned: 100 ===
|
||||
[15:00:00] === Reddit Scout Starting ===
|
||||
[15:00:01] Fetched 50 posts from r/HOA
|
||||
[15:00:01] 🏘️ No relevant HOA discussions found in last scan....
|
||||
[15:00:01] === Done: 0 matches | Total scanned: 150 ===
|
||||
17
agents/reddit-scout/logs/scout-20260318.log
Normal file
17
agents/reddit-scout/logs/scout-20260318.log
Normal file
@@ -0,0 +1,17 @@
|
||||
[08:00:00] === Reddit Scout Starting ===
|
||||
[08:00:01] Fetched 50 posts from r/HOA
|
||||
[08:00:01] 🏘️ *REDDIT SCOUT — HOA DIGEST*
|
||||
📅 Mar 18, 2026 at 08:00 AM
|
||||
🎯 *1 relevant posts found*
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
*TOP OPPORTUNITIES*
|
||||
━━━━━━━━━━━━━━━
|
||||
|
||||
*1.* [5 pts] r/HOA (16h ago)
|
||||
📌 *Anyone else noticing buyers h...
|
||||
[08:00:01] === Done: 1 matches | Total scanned: 200 ===
|
||||
[15:00:00] === Reddit Scout Starting ===
|
||||
[15:00:01] Fetched 50 posts from r/HOA
|
||||
[15:00:01] 🏘️ No relevant HOA discussions found in last scan....
|
||||
[15:00:01] === Done: 0 matches | Total scanned: 250 ===
|
||||
8
agents/reddit-scout/logs/scout-20260319.log
Normal file
8
agents/reddit-scout/logs/scout-20260319.log
Normal file
@@ -0,0 +1,8 @@
|
||||
[08:00:00] === Reddit Scout Starting ===
|
||||
[08:00:02] Fetched 50 posts from r/HOA
|
||||
[08:00:02] 🏘️ No relevant HOA discussions found in last scan....
|
||||
[08:00:02] === Done: 0 matches | Total scanned: 300 ===
|
||||
[15:00:01] === Reddit Scout Starting ===
|
||||
[15:00:03] Fetched 50 posts from r/HOA
|
||||
[15:00:03] 🏘️ No relevant HOA discussions found in last scan....
|
||||
[15:00:03] === Done: 0 matches | Total scanned: 350 ===
|
||||
13
agents/reddit-scout/logs/scout-20260320.log
Normal file
13
agents/reddit-scout/logs/scout-20260320.log
Normal file
@@ -0,0 +1,13 @@
|
||||
[08:00:00] === Reddit Scout Starting ===
|
||||
[08:00:01] Fetched 50 posts from r/HOA
|
||||
[08:00:01] 🏘️ *REDDIT SCOUT — HOA DIGEST*
|
||||
📅 Mar 20, 2026 at 08:00 AM
|
||||
🎯 *1 relevant posts found*
|
||||
|
||||
━━━━━━━━━━━━━━━
|
||||
*TOP OPPORTUNITIES*
|
||||
━━━━━━━━━━━━━━━
|
||||
|
||||
*1.* [6 pts] r/HOA (15h ago)
|
||||
📌 *[All] [N/A] Have any of your ...
|
||||
[08:00:01] === Done: 1 matches | Total scanned: 400 ===
|
||||
225
agents/reddit-scout/scout.py
Executable file
225
agents/reddit-scout/scout.py
Executable file
@@ -0,0 +1,225 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Reddit Scout - HOA Edition
|
||||
Monitors r/HOA for relevant discussions
|
||||
Runs twice daily: 8am and 3pm
|
||||
"""
|
||||
import json, re, time, urllib.request
|
||||
from datetime import datetime, timedelta
|
||||
from pathlib import Path
|
||||
|
||||
SCRIPT_DIR = Path(__file__).parent
|
||||
for d in [SCRIPT_DIR / "state", SCRIPT_DIR / "logs", SCRIPT_DIR / "digests"]:
|
||||
d.mkdir(parents=True, exist_ok=True)
|
||||
|
||||
STATE_FILE = SCRIPT_DIR / "state" / "scout-state.json"
|
||||
LOG_FILE = SCRIPT_DIR / "logs" / f"scout-{datetime.now().strftime('%Y%m%d')}.log"
|
||||
DIGEST_FILE = SCRIPT_DIR / "digests" / f"digest-{datetime.now().strftime('%Y%m%d-%H%M')}.json"
|
||||
|
||||
KEYWORDS = ["budget", "reserve", "assessment", "investments", "planning", "spreadsheet"]
|
||||
NEGATIVE = ["scam", "worst"]
|
||||
IGNORE_AFTER = 48 # hours
|
||||
|
||||
def log(msg):
|
||||
ts = datetime.now().strftime('%H:%M:%S')
|
||||
print(f"[{ts}] {msg}")
|
||||
with open(LOG_FILE, 'a') as f:
|
||||
f.write(f"[{ts}] {msg}\n")
|
||||
|
||||
def load_state():
|
||||
if STATE_FILE.exists():
|
||||
return json.loads(STATE_FILE.read_text())
|
||||
return {"processed_ids": [], "total_scanned": 0, "total_matches": 0}
|
||||
|
||||
def save_state(s):
|
||||
STATE_FILE.write_text(json.dumps(s, indent=2))
|
||||
|
||||
def fetch_reddit_posts():
|
||||
"""Fetch posts from r/HOA using Reddit JSON API"""
|
||||
try:
|
||||
# Reddit's public JSON endpoint (no auth needed for read)
|
||||
url = "https://www.reddit.com/r/HOA/new.json?limit=50"
|
||||
req = urllib.request.Request(
|
||||
url,
|
||||
headers={"User-Agent": "Mozilla/5.0 (HOA Scout Bot 1.0)"}
|
||||
)
|
||||
with urllib.request.urlopen(req, timeout=20) as r:
|
||||
data = json.loads(r.read().decode())
|
||||
return data.get('data', {}).get('children', [])
|
||||
except Exception as e:
|
||||
log(f"Reddit fetch error: {e}")
|
||||
return []
|
||||
|
||||
def score_post(post_data):
|
||||
"""Score post by relevance to HOA Ledger IQ"""
|
||||
title = post_data.get('title', '').lower()
|
||||
selftext = post_data.get('selftext', '').lower()
|
||||
score = 0
|
||||
|
||||
# Keyword matches (0-5 points)
|
||||
matched = [k for k in KEYWORDS if k in title or k in selftext]
|
||||
score += min(len(matched) * 2, 5)
|
||||
|
||||
# Engagement (0-3 points)
|
||||
upvotes = post_data.get('ups', 0)
|
||||
if upvotes > 50: score += 3
|
||||
elif upvotes > 20: score += 2
|
||||
elif upvotes > 5: score += 1
|
||||
|
||||
# Comments (0-3 points)
|
||||
comments = post_data.get('num_comments', 0)
|
||||
if comments > 20: score += 3
|
||||
elif comments > 5: score += 2
|
||||
elif comments > 0: score += 1
|
||||
|
||||
# Question post bonus (+2)
|
||||
if any(q in title for q in ['?', 'how', 'what', 'best', 'recommend']):
|
||||
score += 2
|
||||
|
||||
# Negative keyword penalty
|
||||
if any(n in title or n in selftext for n in NEGATIVE):
|
||||
score -= 3
|
||||
|
||||
return max(score, 0), matched
|
||||
|
||||
def analyze_sentiment(text):
|
||||
"""Basic sentiment analysis"""
|
||||
text = text.lower()
|
||||
frustrated = ['stupid', 'ridiculous', 'nightmare', 'horrible', 'terrible', 'angry']
|
||||
positive = ['great', 'helpful', 'thank', 'appreciate', 'awesome']
|
||||
|
||||
fcount = sum(1 for w in frustrated if w in text)
|
||||
pcount = sum(1 for w in positive if w in text)
|
||||
|
||||
if fcount > pcount: return "frustrated"
|
||||
if pcount > fcount: return "positive"
|
||||
return "neutral"
|
||||
|
||||
def is_recent(created_utc):
|
||||
"""Check if post is within last IGNORE_AFTER hours"""
|
||||
post_time = datetime.fromtimestamp(created_utc)
|
||||
age_hours = (datetime.now() - post_time).total_seconds() / 3600
|
||||
return age_hours <= IGNORE_AFTER
|
||||
|
||||
def format_digest(posts):
|
||||
"""Format posts into digest message"""
|
||||
if not posts:
|
||||
return "🏘️ No relevant HOA discussions found in last scan."
|
||||
|
||||
lines = [
|
||||
"🏘️ *REDDIT SCOUT — HOA DIGEST*",
|
||||
f"📅 {datetime.now().strftime('%b %d, %Y at %I:%M %p')}",
|
||||
f"🎯 *{len(posts)} relevant posts found*",
|
||||
"",
|
||||
"━━━━━━━━━━━━━━━",
|
||||
"*TOP OPPORTUNITIES*",
|
||||
"━━━━━━━━━━━━━━━",
|
||||
""
|
||||
]
|
||||
|
||||
for i, p in enumerate(posts[:10], 1):
|
||||
data = p['data']
|
||||
age = (datetime.now() - datetime.fromtimestamp(data['created_utc'])).total_seconds() // 3600
|
||||
|
||||
lines.append(f"*{i}.* [{p['score']} pts] r/HOA ({int(age)}h ago)")
|
||||
lines.append(f"📌 *{data['title'][:60]}*")
|
||||
lines.append(f" ⬆️ {data.get('ups', 0)} 💬 {data.get('num_comments', 0)}")
|
||||
lines.append(f" 🔑 {', '.join(p['keywords'])}")
|
||||
lines.append(f" 💡 {p['sentiment']} | Reply: {'YES' if p['score'] > 8 else 'maybe'}")
|
||||
lines.append(f" 🔗 https://reddit.com{data['permalink']}")
|
||||
lines.append("")
|
||||
|
||||
# Sentiment summary
|
||||
sentiments = [p['sentiment'] for p in posts]
|
||||
total = len(sentiments)
|
||||
frustrated = sentiments.count('frustrated')
|
||||
positive = sentiments.count('positive')
|
||||
|
||||
lines.extend([
|
||||
"━━━━━━━━━━━━━━━",
|
||||
"*SENTIMENT*",
|
||||
"━━━━━━━━━━━━━━━",
|
||||
f"😤 Frustrated: {frustrated}/{total}",
|
||||
f"😊 Positive: {positive}/{total}",
|
||||
f"😐 Neutral: {total - frustrated - positive}/{total}"
|
||||
])
|
||||
|
||||
return '\n'.join(lines)
|
||||
|
||||
def send_digest(message):
|
||||
"""Send digest to OpenClaw"""
|
||||
log(message[:200] + "...")
|
||||
# OpenClaw will pick up stdout/log
|
||||
return True
|
||||
|
||||
def scout():
|
||||
"""Main scouting function"""
|
||||
log("=== Reddit Scout Starting ===")
|
||||
s = load_state()
|
||||
|
||||
# Fetch posts
|
||||
posts_raw = fetch_reddit_posts()
|
||||
log(f"Fetched {len(posts_raw)} posts from r/HOA")
|
||||
|
||||
matches = []
|
||||
for child in posts_raw:
|
||||
try:
|
||||
data = child.get('data', {})
|
||||
post_id = data.get('id')
|
||||
|
||||
# Skip already processed
|
||||
if post_id in s['processed_ids']:
|
||||
continue
|
||||
|
||||
# Skip old posts
|
||||
if not is_recent(data.get('created_utc', 0)):
|
||||
continue
|
||||
|
||||
# Score post
|
||||
score, keywords = score_post(data)
|
||||
|
||||
# Only include if score > 5
|
||||
if score < 5:
|
||||
s['processed_ids'].append(post_id)
|
||||
continue
|
||||
|
||||
# Analyze sentiment
|
||||
sentiment = analyze_sentiment(data.get('selftext', '') + data.get('title', ''))
|
||||
|
||||
matches.append({
|
||||
'data': data,
|
||||
'score': score,
|
||||
'keywords': keywords,
|
||||
'sentiment': sentiment
|
||||
})
|
||||
|
||||
s['processed_ids'].append(post_id)
|
||||
|
||||
except Exception as e:
|
||||
log(f"Error processing post: {e}")
|
||||
continue
|
||||
|
||||
# Sort by score
|
||||
matches.sort(key=lambda x: x['score'], reverse=True)
|
||||
|
||||
# Generate and send digest
|
||||
digest = format_digest(matches)
|
||||
send_digest(digest)
|
||||
|
||||
s['total_scanned'] += len(posts_raw)
|
||||
s['total_matches'] += len(matches)
|
||||
save_state(s)
|
||||
|
||||
# Save digest to file for reference
|
||||
DIGEST_FILE.write_text(json.dumps({
|
||||
'timestamp': datetime.now().isoformat(),
|
||||
'matches': len(matches),
|
||||
'posts': matches
|
||||
}, indent=2))
|
||||
|
||||
log(f"=== Done: {len(matches)} matches | Total scanned: {s['total_scanned']} ===")
|
||||
|
||||
def main():
|
||||
scout()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
55
agents/reddit-scout/state/scout-state.json
Normal file
55
agents/reddit-scout/state/scout-state.json
Normal file
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"processed_ids": [
|
||||
"1rvlywg",
|
||||
"1rvkbx0",
|
||||
"1rvjeuf",
|
||||
"1rvhqwj",
|
||||
"1rvgow8",
|
||||
"1rvd4ao",
|
||||
"1rvcg39",
|
||||
"1rvbe67",
|
||||
"1rvbd42",
|
||||
"1rvav8r",
|
||||
"1rv95w5",
|
||||
"1rv11k6",
|
||||
"1rv07ul",
|
||||
"1rv07fb",
|
||||
"1rv0752",
|
||||
"1ruw8pi",
|
||||
"1rurcli",
|
||||
"1runpv3",
|
||||
"1runcek",
|
||||
"1ruh6on",
|
||||
"1rud0uk",
|
||||
"1rvwro7",
|
||||
"1rvun79",
|
||||
"1rvrrp2",
|
||||
"1rvrigi",
|
||||
"1rvreaz",
|
||||
"1rwctbz",
|
||||
"1rwbl70",
|
||||
"1rw7ve3",
|
||||
"1rw7fvf",
|
||||
"1rwvc8k",
|
||||
"1rwh9gb",
|
||||
"1rxbzgq",
|
||||
"1rxb3xc",
|
||||
"1rxap30",
|
||||
"1rx6j98",
|
||||
"1rx5edi",
|
||||
"1rxxifc",
|
||||
"1rxpxk3",
|
||||
"1rxn6oq",
|
||||
"1rxmpdw",
|
||||
"1ry7i4j",
|
||||
"1ry6xn7",
|
||||
"1rykhn3",
|
||||
"1ryicnr",
|
||||
"1rygttw",
|
||||
"1rygl0g",
|
||||
"1rydtwc",
|
||||
"1rybxj0"
|
||||
],
|
||||
"total_scanned": 400,
|
||||
"total_matches": 12
|
||||
}
|
||||
Reference in New Issue
Block a user