Gun Deals Scraper
January 28, 2026
Updated Mar 21, 2026
projectactiverevenue
π₯ Gun Deals Scraper
Goal: Scrape r/gundeals, score deals by historical value, monetize via affiliate links.
Target: MVP in 2-3 days β First revenue within a week
π Kanban
π Backlog
- Email/SMS alerts for 5-fire deals (premium feature)
- Ammo price tracker integration
- Coupon stacking suggestions
- Mobile-friendly PWA
- Browser extension version
π To Do
- Research: Identify top affiliate programs (Brownells, PSA, etc.)
- Affiliate: Implement affiliate link injection
- Deploy: Set up auto-start on Mac Mini (launchd)
- Cron: Schedule hourly ingestion
- Alerts: Slack notifications for 4-5 fire deals
π§ In Progress
- UI: Test web interface with real data
- Deploy: Set up persistent hosting
β Done
- Idea validation: Confirmed demand (Ammoseek exists, subreddit active)
- Project kickoff: Created this tracking doc
- Research: Analyzed r/gundeals post structure
- Scraper: Built Reddit JSON API integration
- Parser: Extract price, item name, category, retailer from titles
- Database: SQLite schema with deals, price history, categories
- Scoring: Fire rating algorithm (1-5 π₯) based on historical pricing
- Ingest: Full pipeline (scrape β parse β analyze β store)
- UI: FastAPI web interface with filters
- First data: Ingested 100 deals, 87 price points
ποΈ Architecture
βββββββββββββββββββ βββββββββββββββββββ βββββββββββββββββββ
β Reddit API ββββββΆβ Scraper ββββββΆβ Database β
β (r/gundeals) β β (Python) β β (SQLite/PG) β
βββββββββββββββββββ βββββββββββββββββββ ββββββββββ¬βββββββββ
β
βββββββββββββββββββ β
β Price History ββββββββββββββββ
β Analysis β
ββββββββββ¬βββββββββ
β
ββββββββββΌβββββββββ βββββββββββββββββββ
β Fire Rating ββββββΆβ Web UI β
β (1-5 π₯) β β (Next.js) β
βββββββββββββββββββ βββββββββββββββββββ
π MVP Features (v0.1)
| Feature | Priority | Effort | Notes |
|---|---|---|---|
| Scrape new r/gundeals posts | P0 | 2h | Reddit API or RSS |
| Store deals in database | P0 | 1h | SQLite for MVP |
| Compare to 90-day price history | P0 | 3h | Need historical data source |
| Calculate fire rating (1-5) | P0 | 2h | Based on % below average |
| Simple web UI | P1 | 4h | List view, sortable |
| Affiliate link injection | P1 | 2h | Map retailers β affiliate URLs |
| "I saved you $X" tracker | P2 | 2h | Gamification |
| Deploy to production | P1 | 2h | Vercel or Mac Mini |
Total estimated MVP time: ~18 hours of work = 2-3 days
π° Revenue Model
Phase 1: Affiliate
- Gun/ammo retailers have 2-8% commission
- Key programs to join:
- Brownells
- Palmetto State Armory
- Primary Arms
- Optics Planet
- Aero Precision
Phase 2: Premium ($5/mo)
- Instant alerts for 5-fire deals
- Custom filters (caliber, category)
- Price drop notifications
Phase 3: Donations
- "This tool saved you $X this month"
- "Buy me a box of ammo" prompt
π Research Notes
r/gundeals Structure
- Flairs: [Handgun], [Rifle], [Ammo], [Parts], [Optics], [Accessories], etc.
- Title format: Usually
[Type] Item Name - $Price (notes) - Deal validation: Community upvotes/comments indicate quality
- OOS tracking: Posts often updated when out of stock
Historical Data Challenge
- Reddit only keeps ~1000 posts per subreddit via API
- Options:
- Build our own history going forward
- Use Pushshift/Arctic Shift archives
- Scrape gun.deals (aggregator site)
- Partner with existing data sources
Competition
- Ammoseek: Ammo-focused, no fire rating
- gun.deals: Aggregator, less analysis
- WikiArms: Price comparison
- Gap: Nobody does the "how good is this deal historically" analysis well
π Timeline
Day 1 (Tonight/Tomorrow)
- Set up project structure
- Build Reddit scraper
- Create database schema
- Start collecting historical data
Day 2
- Implement fire rating algorithm
- Build basic web UI
- Test with live data
Day 3
- Add affiliate link mapping
- Deploy MVP
- Post to r/gundeals for feedback (if allowed)
Week 1+
- Iterate based on feedback
- Add premium features
- Apply to affiliate programs
π― Success Metrics
| Metric | Target (Month 1) |
|---|---|
| Daily active users | 100+ |
| Affiliate clicks | 500+ |
| First commission | $50+ |
| Premium signups | 10+ |
π Session Log
2026-01-29 (Night Session)
- Project kickoff
- Created kanban and architecture doc
- Built complete MVP in one session:
- Reddit scraper (JSON API, 100 posts/fetch)
- Title parser (extracts price, item, category, retailer)
- SQLite database (deals, price_history, categories)
- Fire rating analyzer (compares to historical prices)
- Ingest pipeline (scrape β parse β analyze β store)
- FastAPI web UI (filters by category, fire rating, sort)
- First ingestion: 100 deals, 87 price points
- Most deals show no fire rating yet (need historical data to build up)
- One deal hit π₯π₯π₯ already!
Last updated: 2026-01-29 00:20 PST