Overview
HugSelect Django UI is the project I worked on during my student researcher internship at Wageningen University. It is a Django application for HugSelect, an evidence-driven multi-criteria decision-support tool for selecting reusable foundation models from Hugging Face.
Instead of treating model selection as a simple text search, HugSelect turns a natural-language request and user-controlled MoSCoW priorities into structured criteria. It then searches a local Elasticsearch snapshot of 69,000 Hugging Face model records and keeps the evidence used to rank, compare, and explain candidates.
What The System Does
- Accepts natural-language model-selection requests and explicit MoSCoW priorities.
- Separates hard feasibility constraints from softer ranking preferences.
- Retrieves candidates from a released Elasticsearch snapshot containing 69,000 model records.
- Verifies whether ranked Hugging Face model pages are publicly reachable.
- Shows criterion-level explanations for why a model matched the request.
- Supports relation graphs, two- or three-model comparison, and Decision Stress sensitivity views.
- Exports retained search, comparison, and sensitivity evidence into PDF decision records.
My Contribution
My work focused on software implementation, validation, visualisation, and writing around the released HugSelect system. Practically, this meant working across the Django application, recommendation evidence flow, interface behaviour, release verification, and manuscript-level explanation of the tool.
The project was especially valuable because it was not only about making a page look usable. It required understanding how repository metadata, extracted functional features, quality evidence, constraints, availability checks, and comparison views all fit together in one decision-support workflow.
Why It Matters
Foundation model selection can be difficult because the best model depends on the task, constraints, and available evidence. A model can look relevant but still miss a required licence, task, language, lineage, or capability. HugSelect makes those trade-offs visible instead of hiding them behind a single recommendation.
The important part is accountability: the system preserves the original request, normalized priorities, candidate evidence, comparisons, sensitivity results, and report output so that a model choice can be reviewed later.
Technical Focus
The runtime is coordinated by Django views, while search and decision logic live in service modules. Candidate retrieval uses a local Elasticsearch 7.17.29 knowledge base rather than querying Hugging Face for discovery at search time. External calls are used after ranking to verify whether model pages are reachable.
- Python 3.14.5 and Django 6.0.7 for the web application.
- Elasticsearch 7.17.29 for the local model index.
- HTML, CSS, and JavaScript for user-facing decision-support views.
- Gemini for primary intent extraction, with controlled fallback paths.
- ReportLab for generating PDF decision records.
Validation
The revised release describes HugSelect v1.0.1 as a reproducible software release rather than only a prototype. Verification includes 147 automated tests, exact restoration of the 69,000-record Elasticsearch snapshot, checksum validation, a Docker end-to-end exercise, versioned ranking configuration, and a public reproducibility package.
The system is careful about its claims: feature-match percentages are requirement coverage, not benchmark performance, and missing indexed evidence does not prove that a model lacks a capability.
Limitations
- The knowledge base is a finite 2025 snapshot and does not include later model changes.
- Hugging Face metadata can be incomplete, inconsistent, or outdated.
- Licence metadata is treated as evidence, not legal advice.
- Community-derived quality evidence reflects public discussion and automated processing.
- Availability checks show public reachability at search time, not long-term suitability.
What I Learned
This project helped me practise working with a research-grade codebase, understanding data flow before designing screens, and thinking carefully about how technical recommendations should be presented to users.
It also made me more aware of the gap between “the system can compute something” and “a person can actually understand, challenge, compare, and use the result.”
Project Status
Status: Internship project completed. HugSelect v1.0.1 is described as a revised software release with reproducibility artifacts.