Skip to content

Feat: Implement Skill Synergy Combo Multiplier (#1173) - #1191

Merged
komalharshita merged 2 commits into
komalharshita:mainfrom
desireddymohithreddy0925:feat/issue-1173-skill-synergy
Jul 19, 2026
Merged

Feat: Implement Skill Synergy Combo Multiplier (#1173)#1191
komalharshita merged 2 commits into
komalharshita:mainfrom
desireddymohithreddy0925:feat/issue-1173-skill-synergy

Conversation

@desireddymohithreddy0925

Copy link
Copy Markdown

Summary

This PR introduces the "Skill Synergy" Combo Multiplier to address #1173. Previously, knowing highly synergistic skills like "React" and "Node.js" for a full-stack project only yielded a linear addition of points, failing to reward cohesive stack matches. This update adds a SYNERGY_MAP dictionary to the backend recommender containing predefined skill combinations. If a user possesses a specific combination of skills that forms a synergistic subset of the project's requirements, a max multiplier (e.g., 1.5) is applied to their skill score. Additionally, a new UI badge ("Synergy Match ✨") has been added to the frontend to visually highlight these perfect stack matches to the user.

Related Issue

Closes #1173

Type of Change

  • Bug fix — resolves a broken behaviour
  • Feature — adds new functionality
  • Data — adds new projects to data/projects.json
  • Documentation — updates docs, README, or code comments only
  • Style — CSS or visual changes only, no logic change
  • Refactor — restructures code without changing behaviour
  • Test — adds or updates tests

What Was Changed

File Change made
src/utils/recommender.py Added a SYNERGY_MAP dictionary with frozenset keys representing synergistic tech stacks (e.g., React+Node). Updated score_single_project() to check if any synergy group is a subset of the user's matched skills for a given project, and if so, applies a multiplier to the final skill score. Also updated it to return a synergy_applied boolean flag, which is subsequently injected into the project dict inside get_recommendations().
src/static/script.js Updated buildProjectCard() to check for the new project.synergy_applied flag and dynamically append a "Synergy Match ✨" badge to the project tags array.

How to Test This PR

  1. Clone this branch: git checkout feat/issue-1173-skill-synergy
  2. Install dependencies: pip install -r requirements.txt
  3. Run the app: python app.py
  4. Enter React, Node in the skills input on the homepage and submit.
  5. In the results, look for full-stack React+Node projects. You should see them boosted to the top of the list and marked with a "Synergy Match ✨" badge.
  6. Run the tests: python tests/test_basic.py (or pytest tests/test_basic.py)

Expected test output:

27 passed, 0 failed out of 27 tests

Test Results

============================= test session starts ==============================
platform darwin -- Python 3.x.x, pytest-x.x.x, pluggy-x.x.x
rootdir: /Users/desireddymohithreddy/GSSOC2026DevPath/DevPathMRD
collected 27 items                                                             

tests/test_basic.py ...........................                          [100%]

============================== 27 passed in 0.12s ==============================

Self-Review Checklist

  • I have read CONTRIBUTING.md and followed all guidelines
  • My branch name follows the convention: feat/, fix/, docs/, data/, style/, test/
  • I have run python tests/test_basic.py and all 27 tests pass
  • I have run flake8 . locally and there are no errors
  • I have not introduced any print() or console.log() debug statements
  • Every new function I wrote has a docstring
  • I have not modified files outside the scope of the linked issue
  • If I changed the UI, I tested it at 375px (mobile) and 1280px (desktop)
  • If I added a project to the dataset, it has all required JSON fields

Notes for Reviewer

None

- Added SYNERGY_MAP dictionary with predefined highly synergistic skill combos
- Modified score_single_project to check for subset matches and apply a max multiplier to the skill score
- Injected synergy_applied flag into recommended projects
- Updated frontend JS to display a 'Synergy Match' badge
@vercel

vercel Bot commented Jun 26, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the komalsony234-1530's projects Team on Vercel.

A member of the Team first needs to authorize it.

@komalharshita

Copy link
Copy Markdown
Owner

Thank you for your contribution to DevPath!

Great work, and I'm happy to approve this PR. Keep contributing! 🚀

@komalharshita
komalharshita merged commit 4d1853d into komalharshita:main Jul 19, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Implement "Skill Synergy" Combo Multiplier

2 participants