Skip to content

Commit e40b98e

Browse files
Replace Substack links with AI Shipping Blog
1 parent 03a225e commit e40b98e

5 files changed

Lines changed: 10 additions & 10 deletions

File tree

_docs/compatibility/legacy-manifest-differences.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

_docs/compatibility/legacy-manifest.jsonl

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

content/article_faq.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
"question": "Where is the GitHub repository?"
104104
},
105105
{
106-
"answer": "In 2026 each module also comes out as a standalone article on [Alexey Grigorev's Substack](https://alexeyondata.substack.com/). The first one, [AI-Native Development: Specifications, Loop Engineering, and Graph Engineering](https://alexeyondata.substack.com/p/ai-native-development-specifications), covers the Module 1 workflow. Subscribe there to get the rest as they're published, and star the [GitHub repository](https://github.com/DataTalksClub/ai-dev-tools-zoomcamp) for the full materials and homework.",
106+
"answer": "In 2026 each module also comes out as a standalone article on [Alexey Grigorev's Substack](https://aishippingblog.com/). The first one, [AI-Native Development: Specifications, Loop Engineering, and Graph Engineering](https://aishippingblog.com/p/ai-native-development-specifications), covers the Module 1 workflow. Subscribe there to get the rest as they're published, and star the [GitHub repository](https://github.com/DataTalksClub/ai-dev-tools-zoomcamp) for the full materials and homework.",
107107
"id": "faq-where-can-i-read-the-course-articles",
108108
"question": "Where can I read the course articles?"
109109
},

content/docs_projection.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1093,7 +1093,7 @@
10931093
"has_children": false,
10941094
"has_toc": true,
10951095
"permalink": null,
1096-
"body": "# Project\n\nFor the cross-course logistics (deadlines, peer review, certification mechanics), see [Final Project (Zoomcamp Logistics)]({{ '/courses/zoomcamp-logistics/project/' | relative_url }}).\n\nFor the platform UI (where to submit, commit ID, project gallery), see [Course Management Platform: Projects]({{ '/courses/course-management-platform/projects/' | relative_url }}).\n\nThis page covers what is specific to the LLM Zoomcamp: what kind of project to build, how to choose a good idea, and what the reviewers expect to see.\n\n## Project scope\n\nBuild a working LLM-powered application on a knowledge base of your choice. In most projects, this means a RAG application. You apply modules 1 to 5 to your own data and show that you can build, evaluate, and document an end-to-end system.\n\nYour project should:\n\n- Pick a domain.\n- Ingest a knowledge base.\n- Index it for retrieval.\n- Wire up an LLM.\n- Evaluate retrieval and the end-to-end RAG flow.\n- Ideally include some monitoring.\n\nPast projects from previous cohorts give a sense of the expected scope. Examples include a recipe search assistant, a fitness assistant, and a reference lookup tool for music notation. Most are modest in scope but cleanly built and well-documented.\n\n## Choosing a project idea\n\nA good project starts with a real question someone would ask, not with a tool choice. Before deciding on a stack, write down:\n\n- Who the user is.\n- What they need help with.\n- What knowledge base the assistant will use.\n- What a useful answer should look like.\n- How you will tell whether the answer is good.\n\nGood project ideas usually have these properties:\n\n- The domain is specific enough that generic ChatGPT would not be enough.\n- The knowledge base is available, clean enough to process, and large enough to make retrieval meaningful.\n- The answers can be checked against the source documents.\n- The scope fits into a few weeks.\n- The README can explain the problem to someone outside the domain.\n\nAvoid vague ideas like \"a chatbot for documents\" unless you make the user, documents, and task concrete. For example:\n\n- Instead of a generic PDF chatbot, build an assistant for a specific set of product manuals, public policies, internal notes, or course materials.\n- Instead of \"medical assistant\", build a tool that answers questions from a public clinical guideline dataset and clearly cites sources.\n- Instead of \"career assistant\", build a tool that searches a curated set of job descriptions and explains which skills are repeatedly requested.\n\n## Using the AI Engineering Field Guide\n\nThe [AI Engineering Field Guide]({{ '/courses/llm-zoomcamp/resources/#ai-engineering-field-guide' | relative_url }}) is a good source of project ideas. Its [home-assignments section](https://github.com/alexeygrigorev/ai-engineering-field-guide/blob/main/interview/questions/06-home-assignments.md) collects take-home assignments from 100+ company GitHub repositories.\n\nDo not copy an assignment blindly. Use it as a prompt for a project you can finish and explain:\n\n- Pick an assignment that sounds like work you would like to do in a real AI engineering role.\n- Identify the core user problem in the assignment.\n- Replace any missing or proprietary data with public data you can share.\n- Adapt the task to the LLM Zoomcamp rubric: ingestion, retrieval, LLM answer generation, evaluation, and reproducibility.\n- Keep the scope small enough that you can finish it, but real enough that it is useful as a portfolio piece.\n\nThe Field Guide is especially useful if you want the project to support your job search. Look at assignments from companies or roles you care about, then build a smaller version that demonstrates the same skills.\n\n## More project inspiration\n\nThese write-ups show examples of finished AI engineering and agentic projects. Use them for scope, architecture ideas, and problem framing:\n\n- [9 Real-Life AI Projects from AI Engineering Buildcamp Graduates](https://alexeyondata.substack.com/p/9-real-life-ai-projects-from-ai-engineering)\n- [5 ideas for AI agents and OpenAI's hidden skills](https://alexeyondata.substack.com/p/5-ideas-for-ai-agents-and-openais)\n\n## Knowledge base / dataset\n\nYou choose the knowledge base. It can be in any language, including non-English. The README must still be in English so peer reviewers can evaluate the project. Pick a domain you find interesting because you will work with it for several weeks.\n\nAvoid:\n\n- Any dataset the course uses in its lectures or homework. Choose something new so the project shows your own work.\n- Trivially small or toy data that does not exercise retrieval meaningfully.\n\nStrong sources for a knowledge base:\n\n- Documentation for an open-source project.\n- Public policy, legal, or government documents.\n- Product manuals or technical support pages.\n- Public datasets with text fields, reviews, complaints, or Q&A.\n- Your own notes, if you can make enough of them public for reviewers.\n\n## Required components\n\nEvery LLM Zoomcamp project must include:\n\n- An ingestion path that turns your raw knowledge base into something searchable.\n- A retrieval system (text search, vector search, or hybrid).\n- An LLM-powered answering layer that uses the retrieved documents.\n- A retrieval evaluation: which strategy you tried and how it scored.\n- An end-to-end evaluation of the full RAG flow.\n- Some form of interface that a reviewer can use, even if it is just a Python script or a notebook. A web UI (Streamlit, Gradio, Flask) is welcome but not required.\n\nThe rubric does not require these nice-to-haves:\n\n- Monitoring with Grafana, PostgreSQL, or another tool.\n- A deployed live system.\n\n## Tech stack flexibility\n\nYou are not restricted to the technologies covered in the course. Use any LLM provider, vector database, framework, or programming language.\n\nCaveats:\n\n- Document your choices clearly in the README. Reviewers may not know your stack.\n- Make the project reproducible. If a reviewer cannot run it, or at least understand how it would run, you lose reproducibility points.\n- If you write the project in JavaScript, Go, or anything other than Python, give explicit setup instructions. Python is the only stack you can assume reviewers have ready.\n\n## Frameworks\n\nThe course teaches RAG without frameworks so that you understand the underlying concepts. For your project, frameworks are allowed. You can use LangChain, LlamaIndex, Haystack, or similar tools. Document why you chose the framework and what it gives you.\n\n## Evaluation criteria\n\nEach course defines its own rubric. The platform shows the exact criteria when you review or are reviewed.\n\nCommon criteria for LLM Zoomcamp projects:\n\n- Problem description and motivation.\n- Knowledge base preparation and ingestion.\n- Retrieval setup and evaluation of retrieval quality.\n- LLM integration and end-to-end RAG flow.\n- End-to-end evaluation.\n- Reproducibility (can a reviewer run the project from your README).\n- Documentation quality.\n- Bonus: interface, monitoring, deployment, advanced techniques.\n\nThe full rubric for the current cohort is on the course platform under the project window.\n\n## Past projects\n\nUse past projects to calibrate scope:\n\n- [LLM Zoomcamp 2025 project gallery](https://courses.datatalks.club/llm-zoomcamp-2025/projects)\n- [LLM Zoomcamp 2024 project gallery](https://courses.datatalks.club/llm-zoomcamp-2024/projects)\n- Browse other cohorts on the [course platform](https://courses.datatalks.club/).\n- Use the project gallery flow described in [Course Management Platform: Projects]({{ '/courses/course-management-platform/projects/' | relative_url }}).\n\n## Portfolio focus\n\nTreat the project as a portfolio piece with a meaningful repository name such as `recipes-rag-assistant`, not `homework-final`. Include a clear README. Past graduates have used these projects in job applications and interviews.\n\nA few habits make the difference between finishing the course and building something employers notice:\n\n- Start building from day one. Do not wait for the project window to open. Read the project guidelines at the start, decide what you want to build, and apply each module to your own project as you learn it. Putting concepts into practice immediately beats going through the material passively.\n- Build more than one project. Everyone finishes the course with a RAG app on the same course dataset, so that alone does not stand out. Build several projects on data and problems you chose yourself. A small portfolio of varied projects, such as a RAG app, an agent, or something in a different domain, is far stronger than a single one.\n- Make them your own. The strongest projects solve a problem you actually have, on data you picked, cleaned, and structured yourself. That work is what shows your skills.\n",
1096+
"body": "# Project\n\nFor the cross-course logistics (deadlines, peer review, certification mechanics), see [Final Project (Zoomcamp Logistics)]({{ '/courses/zoomcamp-logistics/project/' | relative_url }}).\n\nFor the platform UI (where to submit, commit ID, project gallery), see [Course Management Platform: Projects]({{ '/courses/course-management-platform/projects/' | relative_url }}).\n\nThis page covers what is specific to the LLM Zoomcamp: what kind of project to build, how to choose a good idea, and what the reviewers expect to see.\n\n## Project scope\n\nBuild a working LLM-powered application on a knowledge base of your choice. In most projects, this means a RAG application. You apply modules 1 to 5 to your own data and show that you can build, evaluate, and document an end-to-end system.\n\nYour project should:\n\n- Pick a domain.\n- Ingest a knowledge base.\n- Index it for retrieval.\n- Wire up an LLM.\n- Evaluate retrieval and the end-to-end RAG flow.\n- Ideally include some monitoring.\n\nPast projects from previous cohorts give a sense of the expected scope. Examples include a recipe search assistant, a fitness assistant, and a reference lookup tool for music notation. Most are modest in scope but cleanly built and well-documented.\n\n## Choosing a project idea\n\nA good project starts with a real question someone would ask, not with a tool choice. Before deciding on a stack, write down:\n\n- Who the user is.\n- What they need help with.\n- What knowledge base the assistant will use.\n- What a useful answer should look like.\n- How you will tell whether the answer is good.\n\nGood project ideas usually have these properties:\n\n- The domain is specific enough that generic ChatGPT would not be enough.\n- The knowledge base is available, clean enough to process, and large enough to make retrieval meaningful.\n- The answers can be checked against the source documents.\n- The scope fits into a few weeks.\n- The README can explain the problem to someone outside the domain.\n\nAvoid vague ideas like \"a chatbot for documents\" unless you make the user, documents, and task concrete. For example:\n\n- Instead of a generic PDF chatbot, build an assistant for a specific set of product manuals, public policies, internal notes, or course materials.\n- Instead of \"medical assistant\", build a tool that answers questions from a public clinical guideline dataset and clearly cites sources.\n- Instead of \"career assistant\", build a tool that searches a curated set of job descriptions and explains which skills are repeatedly requested.\n\n## Using the AI Engineering Field Guide\n\nThe [AI Engineering Field Guide]({{ '/courses/llm-zoomcamp/resources/#ai-engineering-field-guide' | relative_url }}) is a good source of project ideas. Its [home-assignments section](https://github.com/alexeygrigorev/ai-engineering-field-guide/blob/main/interview/questions/06-home-assignments.md) collects take-home assignments from 100+ company GitHub repositories.\n\nDo not copy an assignment blindly. Use it as a prompt for a project you can finish and explain:\n\n- Pick an assignment that sounds like work you would like to do in a real AI engineering role.\n- Identify the core user problem in the assignment.\n- Replace any missing or proprietary data with public data you can share.\n- Adapt the task to the LLM Zoomcamp rubric: ingestion, retrieval, LLM answer generation, evaluation, and reproducibility.\n- Keep the scope small enough that you can finish it, but real enough that it is useful as a portfolio piece.\n\nThe Field Guide is especially useful if you want the project to support your job search. Look at assignments from companies or roles you care about, then build a smaller version that demonstrates the same skills.\n\n## More project inspiration\n\nThese write-ups show examples of finished AI engineering and agentic projects. Use them for scope, architecture ideas, and problem framing:\n\n- [9 Real-Life AI Projects from AI Engineering Buildcamp Graduates](https://aishippingblog.com/p/9-real-life-ai-projects-from-ai-engineering)\n- [5 ideas for AI agents and OpenAI's hidden skills](https://aishippingblog.com/p/5-ideas-for-ai-agents-and-openais)\n\n## Knowledge base / dataset\n\nYou choose the knowledge base. It can be in any language, including non-English. The README must still be in English so peer reviewers can evaluate the project. Pick a domain you find interesting because you will work with it for several weeks.\n\nAvoid:\n\n- Any dataset the course uses in its lectures or homework. Choose something new so the project shows your own work.\n- Trivially small or toy data that does not exercise retrieval meaningfully.\n\nStrong sources for a knowledge base:\n\n- Documentation for an open-source project.\n- Public policy, legal, or government documents.\n- Product manuals or technical support pages.\n- Public datasets with text fields, reviews, complaints, or Q&A.\n- Your own notes, if you can make enough of them public for reviewers.\n\n## Required components\n\nEvery LLM Zoomcamp project must include:\n\n- An ingestion path that turns your raw knowledge base into something searchable.\n- A retrieval system (text search, vector search, or hybrid).\n- An LLM-powered answering layer that uses the retrieved documents.\n- A retrieval evaluation: which strategy you tried and how it scored.\n- An end-to-end evaluation of the full RAG flow.\n- Some form of interface that a reviewer can use, even if it is just a Python script or a notebook. A web UI (Streamlit, Gradio, Flask) is welcome but not required.\n\nThe rubric does not require these nice-to-haves:\n\n- Monitoring with Grafana, PostgreSQL, or another tool.\n- A deployed live system.\n\n## Tech stack flexibility\n\nYou are not restricted to the technologies covered in the course. Use any LLM provider, vector database, framework, or programming language.\n\nCaveats:\n\n- Document your choices clearly in the README. Reviewers may not know your stack.\n- Make the project reproducible. If a reviewer cannot run it, or at least understand how it would run, you lose reproducibility points.\n- If you write the project in JavaScript, Go, or anything other than Python, give explicit setup instructions. Python is the only stack you can assume reviewers have ready.\n\n## Frameworks\n\nThe course teaches RAG without frameworks so that you understand the underlying concepts. For your project, frameworks are allowed. You can use LangChain, LlamaIndex, Haystack, or similar tools. Document why you chose the framework and what it gives you.\n\n## Evaluation criteria\n\nEach course defines its own rubric. The platform shows the exact criteria when you review or are reviewed.\n\nCommon criteria for LLM Zoomcamp projects:\n\n- Problem description and motivation.\n- Knowledge base preparation and ingestion.\n- Retrieval setup and evaluation of retrieval quality.\n- LLM integration and end-to-end RAG flow.\n- End-to-end evaluation.\n- Reproducibility (can a reviewer run the project from your README).\n- Documentation quality.\n- Bonus: interface, monitoring, deployment, advanced techniques.\n\nThe full rubric for the current cohort is on the course platform under the project window.\n\n## Past projects\n\nUse past projects to calibrate scope:\n\n- [LLM Zoomcamp 2025 project gallery](https://courses.datatalks.club/llm-zoomcamp-2025/projects)\n- [LLM Zoomcamp 2024 project gallery](https://courses.datatalks.club/llm-zoomcamp-2024/projects)\n- Browse other cohorts on the [course platform](https://courses.datatalks.club/).\n- Use the project gallery flow described in [Course Management Platform: Projects]({{ '/courses/course-management-platform/projects/' | relative_url }}).\n\n## Portfolio focus\n\nTreat the project as a portfolio piece with a meaningful repository name such as `recipes-rag-assistant`, not `homework-final`. Include a clear README. Past graduates have used these projects in job applications and interviews.\n\nA few habits make the difference between finishing the course and building something employers notice:\n\n- Start building from day one. Do not wait for the project window to open. Read the project guidelines at the start, decide what you want to build, and apply each module to your own project as you learn it. Putting concepts into practice immediately beats going through the material passively.\n- Build more than one project. Everyone finishes the course with a RAG app on the same course dataset, so that alone does not stand out. Build several projects on data and problems you chose yourself. A small portfolio of varied projects, such as a RAG app, an agent, or something in a different domain, is far stronger than a single one.\n- Make them your own. The strongest projects solve a problem you actually have, on data you picked, cleaned, and structured yourself. That work is what shows your skills.\n",
10971097
"source_sha256": "6a3ae6c951cc6a63f7b4ca8dbcc611e56c8305076acb6b9faa25755b21e65dbe",
10981098
"body_sha256": "2df1e4ff3b46465bf219a3de174d78444c7bfd36ca1b26168c7d2903a6e66b8a",
10991099
"edit_url": "https://github.com/DataTalksClub/docs/edit/main/courses/llm-zoomcamp/project.md",

0 commit comments

Comments
 (0)