What happened?
The Experience Level dropdown in the "Find Your Next Project" form only displays:
However, the backend data loader (utils/data_loader.py) has a function get_available_levels() that returns all unique levels from data/projects.json. Since no projects in the dataset have "level": "Advanced", the dropdown never populates the "Advanced" option.
Problem: Advanced users cannot select "Advanced" as their experience level because the option doesn't appear in the dropdown. Users with advanced skills are forced to select "Intermediate" or lower, leading to inaccurate project recommendations.
Evidence:
- Frontend code:
templates/index.html lines 608-614 uses Jinja2 template to dynamically populate dropdown:
{% for level in available_levels %}
<option value="{{ level }}">{{ level }}</option>
{% endfor %}
Backend Code Evidence
utils/data_loader.py lines 72-75 returns only levels that exist in dataset:
def get_available_levels():
projects = load_all_projects()
return sorted({p["level"] for p in projects})
Suggested Solution
Option A (Quick Fix - Hide Missing Level)
- Keep dropdown dynamic but display a message if user tries to select unavailable level
Option B (Proper Fix - Add Advanced Projects)
Files Affected
templates/index.html (lines 608-614)
utils/data_loader.py (lines 72-75)
data/projects.json (needs Advanced projects)
starter_code/ (new advanced project templates)
GSSOC'26 Contributor Note
Hii @komalharshita, I'm a GSSOC'26 contributor and would like to work on this issue and resolve it. I hope this issue is assigned to me so I can continue working on it.
My approach:
- First, I'll remove these dead options from the frontend to fix the immediate UX problem
- Then, I'll add well-structured ML/AI and DevOps projects to the dataset
- Finally, I'll add validation to prevent future mismatches
If I get assigned to this issue will start working submitting a PR at the earliest
Steps to reproduce
- Navigate to the recommendation form (#find-project section)
- Look at the "Experience Level" dropdown menu
- Click the dropdown to expand it
- Observe the available options
Expected behaviour
The "Experience Level" dropdown should display:
Beginner
Intermediate
Advanced
Advanced users should be able to select "Advanced" and receive recommendations for advanced-level projects (real-time chat apps, JWT authentication APIs, systems programming projects, etc.).
If no Advanced projects exist yet, the UI should either:
Display "Advanced" but show "No Advanced projects available yet. Check back soon!" when selected
Or add at least 2-3 advanced projects to the dataset immediately
Area of the app affected
Homepage form
Python version
3.9+
Operating system
Windows / macOS / Linux
Relevant error output or logs
Output from backend:
- Levels (3): ['Advanced', 'Intermediate', 'Beginner']
Before submitting
What happened?
The Experience Level dropdown in the "Find Your Next Project" form only displays:
However, the backend data loader (
utils/data_loader.py) has a functionget_available_levels()that returns all unique levels fromdata/projects.json. Since no projects in the dataset have"level": "Advanced", the dropdown never populates the "Advanced" option.Problem: Advanced users cannot select "Advanced" as their experience level because the option doesn't appear in the dropdown. Users with advanced skills are forced to select "Intermediate" or lower, leading to inaccurate project recommendations.
Evidence:
templates/index.htmllines 608-614 uses Jinja2 template to dynamically populate dropdown:{% for level in available_levels %} <option value="{{ level }}">{{ level }}</option> {% endfor %}Backend Code Evidence
utils/data_loader.pylines 72-75 returns only levels that exist in dataset:Suggested Solution
Option A (Quick Fix - Hide Missing Level)
Option B (Proper Fix - Add Advanced Projects)
Add 2-4 advanced-level projects to
data/projects.jsoncovering:Ensure each project has:
starter_code/directoryFiles Affected
templates/index.html(lines 608-614)utils/data_loader.py(lines 72-75)data/projects.json(needs Advanced projects)starter_code/(new advanced project templates)GSSOC'26 Contributor Note
Hii @komalharshita, I'm a GSSOC'26 contributor and would like to work on this issue and resolve it. I hope this issue is assigned to me so I can continue working on it.
My approach:
If I get assigned to this issue will start working submitting a PR at the earliest
Steps to reproduce
Expected behaviour
The "Experience Level" dropdown should display:
Beginner
Intermediate
Advanced
Advanced users should be able to select "Advanced" and receive recommendations for advanced-level projects (real-time chat apps, JWT authentication APIs, systems programming projects, etc.).
If no Advanced projects exist yet, the UI should either:
Display "Advanced" but show "No Advanced projects available yet. Check back soon!" when selected
Or add at least 2-3 advanced projects to the dataset immediately
Area of the app affected
Homepage form
Python version
3.9+
Operating system
Windows / macOS / Linux
Relevant error output or logs
Output from backend:
Before submitting