← Pipeline

Bountysource Email Subscription Feature ($250)

Drafted
Reward: $250Platform: githubRail: bountysource (risky)Competition: 7 comments (feature requested by multiple users but no implementation PR)AI fit: mediumOpen issue ↗
Log time
Record payment (→ marks Paid)
Decision / notes
Read-only — unlock operator mode (top right) to edit.

Deliverables (0)

None yet — MINT attaches the PR/claim text + code here once it builds.

Timeline

No events yet.

Full proposal (drafted by MINT)

# Proposal Draft — Bountysource Email Subscription Feature ($250)

> **Status**: ~~DRAFT~~ **WITHDRAWN — 2026-06-04T11:27Z**  
> **Reason**: Bountysource.com bankrupt (Nov 2023). Site down since May 2024. $21k+ unpaid to developers confirmed by community reports. The $250 escrow is NOT collectible. Do not pursue.  
> **Original written**: 2026-06-04T11:19:10Z (G5 iteration pass, tick 632)

---

## Bounty Details

| Field | Value |
|---|---|
| Issue | https://github.com/bountysource/core/issues/1141 |
| Title | Add new bounty email subscription feature. [$250] |
| Repo | bountysource/core (645 stars) |
| Reward | $250 USD (stated in issue title — direct from bountysource platform) |
| Payment rail | Bountysource native (on-platform; operator's bountysource account needed) |
| Discovery score | 6.38 (scope=2.4, spec=4.1, competition=2, pay=4.17) |
| Competition | 7 comments (feature requested by multiple users but no implementation PR) |
| Issue age | Opened 2015 — long-standing request, still open, no implementation |

## Issue Summary

Users want email notifications when new bounties are posted that match specific search criteria (e.g., tags, language, minimum amount). Currently there is no subscription/alert mechanism — users must manually browse the platform. The request is clear and high-demand (7 upvotes/comments over years).

**Core ask (from issue):**
> "Would it be possible to get a feature where I could be notified by email whenever a new bounty is posted that meets some specific search criteria? (Or when an existing bounty changes in a way that makes it meet the criteria.)"

## Pre-Qualification Checks (before submitting)

Before operator submits a claim:
1. **Verify bountysource platform is still operational** — bountysource has had reliability/payment issues historically; check https://status.bountysource.com and recent community reports before investing effort
2. **Verify $250 is still available** — title says $250 but no payout mechanism is documented in the issue; check if bountysource's own bounty-on-their-own-platform is real
3. **Check if an implementation PR exists** — search `is:pr bountysource/core email subscription` before claiming
4. **Bountysource repo activity** — last commit date matters; if the repo is archived/inactive, no code will be merged

**Risk flag**: bountysource has had public payment reliability issues (2019-2022 era reports). Confirm platform viability before any effort is spent.

**Recommended first step**: Operator comments: "Is this bounty still active and what's the payment process? Happy to implement if confirmed."

## Proposed Solution Approach

### Stack
bountysource/core is a **Ruby on Rails** application with a background job system (Sidekiq) and mailer infrastructure. This is standard Rails work MINT can implement.

### Architecture

1. **BountySubscription model** (new table):
   ```ruby
   class BountySubscription < ApplicationRecord
     belongs_to :person  # existing user model
     
     # Criteria fields (nullable = "any")
     # e.g. language, tracker type, min_amount, tag
     validates :email, presence: true
     validates :person, presence: true
   end
   ```

2. **Subscription UI** — form on the /bounties browse page:
   - "Subscribe to new bounties" button → modal with criteria filters (match existing search UI)
   - Persists to BountySubscription via `BountySubscriptionsController#create`

3. **Background job** — `BountySubscriptionNotifierJob` (Sidekiq/ActiveJob):
   - Runs hourly (or on bounty creation/update)
   - For each new/updated bounty, query subscriptions whose criteria match
   - Batch-send notifications (1 digest per period to avoid spam)

4. **Mailer** — `BountySubscriptionMailer#new_bounty_matches`:
   - Lists matched bounties with title, amount, URL
   - Unsubscribe link (one-click, token-based)

### Deliverable (PR branch `feature/bounty-email-subscriptions`)

- `db/migrate/<timestamp>_create_bounty_subscriptions.rb`
- `app/models/bounty_subscription.rb`
- `app/controllers/bounty_subscriptions_controller.rb`
- `app/mailers/bounty_subscription_mailer.rb`
- `app/views/bounty_subscription_mailer/`
- `app/jobs/bounty_subscription_notifier_job.rb`
- `app/views/bounties/_subscribe_form.html.erb`
- Tests: `spec/models/`, `spec/mailers/`, `spec/jobs/`

### Estimated effort
MINT can produce a full draft PR in 2-3 ticks (~30-45 min). Operator review + confirmation of test environment would be the gate.

## Candidate Assessment: Why Others Were Filtered This Pass

| Candidate | Why Skipped |
|---|---|
| BitReelCo/BJS-PR-Bounty-Pool #1 (WebXR $250) | Requires Quest2/Quest2 Pro hardware to validate; 14 competing comments |
| bk138/gromit-mpx #259 (contrast mode) | No confirmed USD reward — issuehunt link only with $0 listed |
| bk138/droidVNC-NG #330 (Samsung DeX) | No confirmed USD reward; requires Samsung hardware to test |
| bisq-network/growth #290 (podcasts $250) | Human-only deliverable (podcast guest appearance); paid in BSQ token, not USD |
| k3d-io/k3d #1447 (podman bug) | No confirmed USD reward; sponsorship link only |
| k3d-io/k3d #1614 (riscv64) | No confirmed USD reward; deep build infra work |

## Filter Improvement Observations (for discover.py tuning)

The current scorer gives "unknown" reward a score of 1.0 (pay_score), allowing issuehunt-link-only issues to score 6.0+. These clog the eligible list without real $ confirmation. Consider:
- Add an `is_confirmed_usd_reward` flag: `True` only if `reward_usd > 0`
- Raise `MIN_SCORE` threshold from 6.0 to 6.5 to filter out these borderline entries
- Or add a `min_confirmed_reward_usd = 25` filter: if reward is unknown AND the issue just has an issuehunt link, score it below threshold

---

*Next step: Operator reviews this draft. Recommended pre-check: (a) confirm bountysource $250 is real and platform is active, then (b) comment on issue claiming intent and confirming payment method. MINT will continue discovering on next round-robin turn.*