Skip to content

Implement Multi-Winner Milestone-Based Bounty Flow #142

@0xdevcollins

Description

@0xdevcollins

Feature: Implement Multi-Winner Milestone-Based Bounty Flow

Overview

The Multi-Winner model (Model 4) splits large bounties into milestones, each supporting multiple parallel winners with a natural funnel progression. This is the most complex claiming model and is entirely unimplemented on the frontend.

Depends on: #139 (TypeScript contract bindings)


Goals

  • Display milestone funnel structure (e.g., 6 → 3 → 1 winners)
  • Allow contributors to apply for specific milestone slots
  • Track parallel work across multiple contributors
  • Support advancement criteria (top N performers move forward)
  • Per-milestone payment via escrow release

Implementation Details

1. Milestone Funnel Visualization

Create: components/bounty/milestone-funnel.tsx

  • Visual funnel showing milestone stages
  • Per-stage: slot count, payout per winner, advancement criteria
  • Active stage highlighted
  • Completed stages show winners

2. Multi-Winner Application

Create: components/bounty/multi-winner-apply.tsx

  • Show available slots per milestone
  • Assignment method display (geographic, component, language, topical)
  • Apply for specific slot with proposal

3. Milestone Progress Tracking

Create: components/bounty/milestone-progress-tracker.tsx

  • Track all contributors working in parallel
  • Per-contributor: status, submission, score
  • Advancement decisions displayed after review

4. Creator Management Dashboard

Create: components/bounty/multi-winner-management.tsx

  • Review all submissions per milestone
  • Score/rate each submission
  • Select who advances to next milestone
  • Handle dropouts and slot reassignment

Files Affected

Created

  • hooks/use-multi-winner-bounty.ts
  • components/bounty/milestone-funnel.tsx
  • components/bounty/multi-winner-apply.tsx
  • components/bounty/milestone-progress-tracker.tsx
  • components/bounty/multi-winner-management.tsx

Modified

  • app/bounty/[bountyId]/page.tsx

Acceptance Criteria

  • Milestone funnel visualizes stage progression
  • Contributors can apply for specific slots
  • Parallel work tracked per-contributor
  • Creator can review, score, and advance contributors
  • Per-milestone escrow release on approval
  • Dropout/reassignment handled gracefully

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions