AI Curriculum Mini-Projects
Three end-to-end portfolio projects that tie together concepts from across the AI curriculum. Each project is scoped to be completable in a weekend and demo-ready for interviews.
Projects at a Glance
| # | Project | Core Skills | Difficulty | Est. Time |
|---|---|---|---|---|
| 1 | Personal Knowledge Assistant | RAG, embeddings, vector DBs, streaming | Beginner–Intermediate | 4–6 hrs |
| 2 | GitHub Workflow Agent | Tool use, ReAct loop, API integration | Intermediate | 4–6 hrs |
| 3 | Multi-Agent Research Pipeline | Multi-agent, async orchestration, synthesis | Intermediate–Advanced | 6–8 hrs |
Skills Exercised by Module
Project 1 — Personal Knowledge Assistant
- Module 02 (RAG): Document chunking, embedding, vector retrieval, context injection
- Module 03 (Agents): Conversational REPL with memory
- Module 05 (Memory): Rolling conversation history (last 10 turns)
- Module 09 (Production): Idempotent ingestion, error handling, env-var config
Project 2 — GitHub Workflow Agent
- Module 03 (Agents): ReAct-style agentic loop with tool selection
- Module 04 (Tools): Defining and calling tools against a real REST API
- Module 09 (Production): Token budgeting, graceful degradation, safety constraints
- Module 10 (Claude Code Patterns): Streaming, structured tool schemas, loop control
Project 3 — Multi-Agent Research Pipeline
- Module 06 (Multi-Agent): Specialized sub-agents with distinct roles
- Module 07 (Workflows): Orchestrator pattern, fan-out / fan-in
- Module 08 (Evaluation): Confidence scoring per agent, synthesized quality
- Module 09 (Production): Async parallel execution, timing, file output
Suggested Completion Order
- Start with Project 1 — it builds the foundational RAG pattern you will reference in the others. No agentic loops, just a clean ingestion + retrieval pipeline.
- Then Project 2 — adds tool use and a real API. You will reuse the concept of a system prompt + loop from Project 1.
- Finish with Project 3 — the most complex. Uses
asyncio, multiple Claude calls in parallel, and a synthesis step. Do this last so the patterns feel familiar.
How to Extend Each Project for a Portfolio
Project 1 Extensions
- Web UI: Wrap
query.pyin a FastAPI backend + a simple React or Streamlit frontend. - Slack Bot: Replace the CLI REPL with a Slack Bolt app — each DM becomes a query.
- Scheduled Re-indexing: Add a cron job or GitHub Action that re-runs
ingest.pywhenever your notes repo is updated. - Multi-user: Store user IDs in Chroma metadata; filter by user on retrieval.
- Source highlighting: Return the source file and chunk offset alongside each answer.
Project 2 Extensions
- Write operations: Add
create_issue,add_comment,close_issuetools gated behind a--allow-writesCLI flag. - Notification digest: Run the agent on a schedule and post a daily summary to Slack or email.
- Multi-repo: Accept a list of repos; run issue triage across all of them.
- PR review: Add a
review_prtool that posts a structured Claude-generated review as a PR comment.
Project 3 Extensions
- Fact-checking agent: Add a fourth agent that cross-checks claims from the three searchers.
- Citation extraction: Instruct searcher agents to return URLs; have the writer embed them as footnotes.
- Interactive refinement: After the report is generated, drop into a follow-up REPL to ask clarifying questions.
- Structured output: Replace the markdown report with a JSON schema so the output feeds a downstream pipeline.
What to Demo in an Interview
Project 1 — Show:
- Run
ingest.pyon a folder of your own notes. - Ask a question that spans multiple documents — demonstrate that the answer cites chunks from different files.
- Ask a follow-up question that only makes sense in context — demonstrate conversation history working.
- Point out the idempotency check: re-run ingest and show “0 new chunks” because hashes match.
Project 2 — Show:
- Point the agent at a real public repo (e.g., your own).
- Ask “What are the three oldest open issues and what do they have in common?”
- Ask “Summarize what changed in the last week.”
- Show the ReAct trace — tool calls are printed so the interviewer can see the agent reasoning.
Project 3 — Show:
- Run with a topic like “impact of LLMs on software engineering”.
- Show the timing line — three agents ran in parallel.
- Open the generated
report_*.md— walk through the structure. - Explain the architecture: why parallel, why a separate writer, what the confidence scores are for.
Prerequisites (All Projects)
# Python 3.11+
python --version
# Copy and fill in your keys
cp .env.example .env # (see each project's README for the variables needed)
# Each project has its own requirements.txt
pip install -r requirements.txtAll projects read configuration from a .env file. Never commit that file.