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

#ProjectCore SkillsDifficultyEst. Time
1Personal Knowledge AssistantRAG, embeddings, vector DBs, streamingBeginner–Intermediate4–6 hrs
2GitHub Workflow AgentTool use, ReAct loop, API integrationIntermediate4–6 hrs
3Multi-Agent Research PipelineMulti-agent, async orchestration, synthesisIntermediate–Advanced6–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

  1. 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.
  2. Then Project 2 — adds tool use and a real API. You will reuse the concept of a system prompt + loop from Project 1.
  3. 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.py in 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.py whenever 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_issue tools gated behind a --allow-writes CLI 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_pr tool 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:

  1. Run ingest.py on a folder of your own notes.
  2. Ask a question that spans multiple documents — demonstrate that the answer cites chunks from different files.
  3. Ask a follow-up question that only makes sense in context — demonstrate conversation history working.
  4. Point out the idempotency check: re-run ingest and show “0 new chunks” because hashes match.

Project 2 — Show:

  1. Point the agent at a real public repo (e.g., your own).
  2. Ask “What are the three oldest open issues and what do they have in common?”
  3. Ask “Summarize what changed in the last week.”
  4. Show the ReAct trace — tool calls are printed so the interviewer can see the agent reasoning.

Project 3 — Show:

  1. Run with a topic like “impact of LLMs on software engineering”.
  2. Show the timing line — three agents ran in parallel.
  3. Open the generated report_*.md — walk through the structure.
  4. 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.txt

All projects read configuration from a .env file. Never commit that file.