Claude/reddit ai relationships scraper ugh g8#5
Merged
Conversation
- Lemon favicon and branding (scraping = squeezing) - Animated background blobs with gradient colors - Glassmorphism cards with backdrop blur - Gradient text, bouncy lemon animations - Vibrant lemon/orange/pink/purple color palette - Space Grotesk font for bold Gen Alpha typography - Smooth micro-interactions and hover effects - Light/dark themes both updated https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
- Added 3-step "How it works" onboarding section - Info tooltip (?) badges on Sort, Posts per sort, Time filter, Keywords - Detailed title tooltips on every toggle explaining what each does - Export hint section explaining CSV vs JSON formats for researchers - Updated hero copy for academic research focus - Subtitle text under Settings and Results headers - Research-friendly footer with privacy note (all processing in browser) - Responsive layout for new elements on mobile https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
- Switch primary endpoint from www.reddit.com to old.reddit.com (less aggressive blocking) - Add comprehensive browser-like headers (Sec-Fetch-*, Sec-Ch-Ua, etc.) - Add OAuth fallback: if REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET env vars are set, uses Reddit's OAuth API (oauth.reddit.com) as the primary strategy - Try multiple base URLs before giving up (old.reddit.com → www.reddit.com) - Detect HTML responses (blocked pages) and fall through to next strategy - Truncate error messages to avoid dumping huge HTML into the UI - Provide actionable error message guiding users to set up OAuth credentials if all public endpoints fail https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
The workflow now gracefully handles the case where gh pr create fails because a PR was previously merged or closed for this branch, instead of failing the entire job. https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
…oints Reddit now blocks all unauthenticated requests from server IPs (403). The scraper was falling back to public JSON endpoints which always fail. Changes: - scrape.mjs: Remove public endpoint fallback, use OAuth API exclusively - scrape.mjs: Clear error messages when credentials are missing or invalid - scrape.mjs: Handle 401 token expiry with automatic refresh - index.html: Update copy to reflect OAuth API usage To make it work, set REDDIT_CLIENT_ID and REDDIT_CLIENT_SECRET in Netlify dashboard (Site Settings > Environment Variables). Get free credentials at reddit.com/prefs/apps (script type app). https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
Reddit blocks unauthenticated requests from server IPs and the user
cannot create Reddit API credentials. Switch to PullPush.io, a free
Reddit data mirror that requires no authentication.
- Submissions via api.pullpush.io/reddit/search/submission/
- Comments via api.pullpush.io/reddit/search/comment/
- Pagination uses Unix timestamps (before param) instead of Reddit tokens
- Rate limit handling with exponential backoff
- Same response format {posts, after, done} for frontend compatibility
https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
- Rewrote README to describe a general-purpose subreddit scraper - Removed all references to specific subreddits and research topics - Updated package.json name/description to match - Fixed footer (was still referencing OAuth API, now says no API keys) https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
✅ Deploy Preview for redditscrapersbe ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
jheller1212
pushed a commit
that referenced
this pull request
Mar 11, 2026
…re, academic fields Critical fixes: - #1 Thread-level scraping: paste a post URL and get the post + all comments instantly. Auto-detected from input — no new UI needed - #2 Add Hot, Controversial, Rising sort modes (Controversial is key for polarization research) - #3 Time filter greys out when neither Top nor Controversial is active - #5 Partial data on Stop: always shows download buttons with message "Stopped at X posts. Partial data available below." Academic data fields added (#7): - Posts: edited, distinguished, is_crosspost, crosspost_subreddit, total_awards_received, gilded - Comments: depth (nesting level), edited, distinguished, controversiality UX improvements: - #10 Progressive disclosure: options panel hidden until Analyze completes. No more wall of options on first load - #11 Keyword analysis moved under "Advanced" collapsible section - #12 Single primary download button "Download for R/Python (Combined CSV)" with other formats under collapsible - #13 CTA renamed to "Squeeze Data" for clarity - #4 Post limit capped at 1000 with visible note - #8 Specific error messages for 404/403 (not found, private) - #9 Input accepts post URLs, subreddit URLs, r/prefix, plain names https://claude.ai/code/session_01JS12oCAdiNAGoSr7NhmNzU
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.