Skip to content

[Feature]: Project Recommendation Service #185

Description

@SudiptaPaul-31

🔍 Problem Statement

Description

Create a backend service that recommends relevant projects to freelancers based on their profile. Recommendations should leverage skills, previous projects, budget preferences, and project categories to improve discovery and matching.


Considerations

  • Skills — match freelancer skill tags with project requirements.
  • Previous projects — prioritize projects similar to past successful work.
  • Budget — align recommendations with freelancer’s preferred budget range.
  • Project category — filter by categories relevant to freelancer expertise.

Tasks

  • Design recommendation algorithm — combine weighted factors (skills, history, budget, category).
  • Implement efficient database queries — use indexes and optimized joins for scalability.
  • Add pagination support — return results in chunks for large datasets.
  • Fallback logic — when insufficient matching data exists, recommend recent or trending projects.
  • Expose API endpoint — provide a REST/GraphQL endpoint for fetching recommendations.
  • Add caching layer — reduce load for frequently requested recommendations.
  • Include logging/metrics — track recommendation quality and query performance.

Acceptance Criteria

  • Paginated recommendations — API returns results in pages with metadata (totalCount, hasMore).
  • Efficient database queries — recommendations load quickly even under high traffic.
  • Fallback to recent projects when insufficient matching data exists.
  • Consistent results across sessions — same profile yields stable recommendations.
  • Secure access control — only authenticated freelancers can request recommendations.
  • Unit/integration tests included — validate algorithm correctness and performance.

📈 Expected Impact

High — Would significantly improve user experience

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions