Developing Freelance Exchange
Freelance exchange connects customers with contractors for one-off projects. Unlike regular marketplace, the "product" here is a service, not a physical item. Key mechanics: posting jobs, submitting proposals, contractor selection, safe deal (escrow), rating after completion.
Business Models
Job-based (like Upwork): customer posts job → freelancers submit proposals (with price and description) → customer selects → work, payment.
Gig-based (like Fiverr): freelancer creates "gig" (service offer with fixed price) → customer chooses → buys → contractor executes.
Combined: both models, user chooses preferred.
Freelancer Profile
- Specialization, skills, level (Junior/Middle/Senior)
- Hourly rate (for hourly projects)
- Portfolio: work samples with descriptions and links
- Certifications and verifications
- Rating (average by reviews) + completed projects count
- Job Success Score (% of successfully completed jobs)
- Availability (available / busy / looking for projects)
Matching and Search
Freelancer search by skills with ranking:
score = (avg_rating × W1) + (job_success_rate × W2) + (completed_jobs_log × W3)
+ profile_completeness × W4 - response_time_hours × W5
Filters: skills, budget, level, timezone, language, rating, availability.
Safe Deal (Escrow)
Escrow is key trust feature. Scheme:
1. Contractor accepts proposal
2. Customer funds escrow (money held by platform)
3. Contractor sees money blocked → starts work
4. Contractor submits work → status "submitted"
5. Customer accepts → money goes to contractor (minus fee)
OR Customer requests revisions → contractor reworks
OR Dispute opens (dispute)
Implementation: Stripe PaymentIntent with capture_method: manual. Capture happens when work accepted.
Milestone Payment
For large projects — payment by phases:
Project: website development ($3000)
├── Milestone 1: design ($1000) → submission → payment
├── Milestone 2: markup ($1000) → submission → payment
└── Milestone 3: backend ($1000) → submission → payment
Each milestone is separate escrow payment.
Dispute System
On conflict (customer doesn't accept / contractor doesn't submit):
- Dispute opens
- Both sides provide evidence (messages, files)
- Mediator (platform employee) studies and decides
- Funds released per decision (full / partial to one side)
Auto-close without dispute: if customer doesn't accept/reject within N days after submission → auto-accept.
Communications
Built-in chat tied to contract — all project discussion in one place. Important: off-platform messaging weakens position in dispute.
Video calls: Daily.co or Zoom integration (via API) right from chat.
Platform Bypass Protection
Common problem: customer and contractor agree "outside" without fee. Measures:
- NLP chat filtering: blocking contact info in first messages
- Minimum time before revealing contacts (after first deal)
- Explicit policy: bypass = account ban
Timeline
MVP (jobs, proposals, contractor selection, escrow payments, reviews): 4–5 months. Full exchange with gig-marketplace, milestones, disputes, video calls, mobile app: 7–12 months.







