The problem you will solve
A learner knows some Python but does not know which AI resource to study next. Build a small recommender that ranks a permitted catalogue using prerequisites, target skills and available study time. Explain each recommendation using catalogue evidence rather than promising that a course guarantees employment.
Before you start
Vector similarity, basic ranking metrics and tabular data processing.
Suggested tech stack
Data plan
Author 50 fictional resource records with topic, level, prerequisites, duration and access conditions. Create 20 fictional learner profiles and manually label relevant resources. Keep real learner identities and private learning histories out of the demo.
Hardware and cost
A weighted skill-overlap baseline and a small content-based ranker run on CPU. Embeddings are optional; record any API cost. Collaborative filtering is an extension only if you have sufficient permitted interaction data, not a requirement for this small catalogue.
Define the input and output
Use this illustrative contract as a starting point, then specify required fields, validation and error responses in your own implementation. It is not a complete API schema.
Input: {"skills":["Python"],"goal":"RAG","weekly_hours":4}
Output: {"resources":[{"id":"resource-12","reason":"Introduces retrieval after Python basics","missing_prerequisites":[]}]}Your five build milestones
Finish and test one milestone before extending the system. Keep an experiment log with the decision, the alternative you rejected and the evidence behind the choice.
Define useful recommendations
Write a resource schema and a relevance rubric. Separate hard constraints, such as access or prerequisites, from ranking preferences, such as preferred duration or learning format.
Create the first baseline
Rank resources using explicit skill and topic overlap after checking hard constraints. Save scores and reasons so the result is explainable without a language model.
Add and compare ranking
Implement a content-vector ranker and compare it on identical learner profiles. Keep skill synonyms explicit and avoid treating a high similarity score as a calibrated success probability.
Handle an unknown learner
Design a cold-start path asking for a goal and basic prerequisites. Test profiles with no history and resources with missing metadata; do not silently assume advanced knowledge.
Publish a learning plan
Show ranked resources with evidence, prerequisites and an edit-your-goal option. Export the evaluation fixture, baseline comparison and one example where the recommender gave an unsuitable suggestion.
How to evaluate your project
Set your acceptance criteria before looking at the final test results. The checks below are proposed experiments, not measured outcomes or a guarantee that a particular model will pass.
- Report precision@5 and prerequisite violations against the manually labeled profiles, including the number of profiles tested.
- Compare catalogue coverage and repeated recommendations across learner goals; popularity alone is not personalization.
- Evaluate cold-start profiles separately and document disagreement in human relevance judgments.
Save your test cases, run command, dependency versions and results together. Compare on identical inputs, retain failures in the denominator and report sample sizes. If a change improves one metric but harms another, explain which trade-off fits your use case.
Failure modes worth demonstrating
- Recommending advanced material because it shares keywords while ignoring prerequisites.
- Treating synthetic learner behaviour as proof of real learning improvement.
Optional extension
Let learners mark a recommendation unsuitable and analyse the reason before changing ranking weights or collecting more personal data.
Turn the build into portfolio evidence
Your repository should let another person understand the problem and reproduce the core evaluation without needing your private credentials.
- A README with problem, intended user, architecture, setup commands and a small input/output example.
- A permitted sample dataset, its origin or generator, a frozen test split and a single evaluation command.
- A results table comparing your baseline with your final approach, including failures and sample counts.
- A short demo or screenshots, a limitations section and one decision you would change with more time.
- Environment-variable names without secret values, a dependency list and attribution/license notices for any reused code or datasets.
Resume framing
Describe this as a personal or educational project. State what you implemented, how you tested it and what your measured results were. Replace placeholders with your own evidence; do not claim employer impact, production traffic or accuracy you did not measure.
Built ai learning resource recommender using Python, NumPy, pandas; evaluated against [baseline] on [N held-out cases], documented [measured result] and [important limitation].View Machine Learning Engineer resume examples →Be ready to explain your decisions
- How would you evaluate recommendations without click history?
- How does your system handle a new learner or a new resource?
Answer with a concrete failure from your implementation, the options you considered, your measured evidence and the limitation that remains.
Google documentation and GitHub references
The project scope, milestones and evaluation plans above are original AIJobFever educational material. These official Google resources offer background or implementation examples; they are not finished implementations of this blueprint. No Google endorsement is implied. Review repository licenses, supported platforms and current costs before reusing code or provisioning services.
Our editorial policy