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
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
Implementation Details
1. Milestone Funnel Visualization
Create:
components/bounty/milestone-funnel.tsx2. Multi-Winner Application
Create:
components/bounty/multi-winner-apply.tsx3. Milestone Progress Tracking
Create:
components/bounty/milestone-progress-tracker.tsx4. Creator Management Dashboard
Create:
components/bounty/multi-winner-management.tsxFiles Affected
Created
hooks/use-multi-winner-bounty.tscomponents/bounty/milestone-funnel.tsxcomponents/bounty/multi-winner-apply.tsxcomponents/bounty/milestone-progress-tracker.tsxcomponents/bounty/multi-winner-management.tsxModified
app/bounty/[bountyId]/page.tsxAcceptance Criteria