Projects and Capstone

A complete, portfolio-ready set of AI projects for beginners, each scoped to be doable in one weekend by a course finisher. Pick 3 to 5 for your portfolio. Always finish with the capstone.

How to use this page

For every project you take:

  1. Read "Brief" and "Goal".
  2. Set up the GitHub repo from the suggested structure.
  3. Build the minimum version, deploy, ship.
  4. Pick 1 to 2 "Stretch ideas" to ship the next weekend.
  5. Add a README, Loom video, and live demo URL.

Pro tip: ship a smaller-scope project on time, not a bigger one late.

Project ledger

#ProjectDifficultyBest for
1AI Study AssistantEasyStudents
2AI Resume BuilderEasyCareer switchers
3AI Notes GeneratorEasyProductivity nerds
4Personal AI ChatbotEasyAll
5PDF Question Answering AppMediumAspiring RAG engineers
6AI Travel PlannerMediumProduct-minded
7AI Email WriterEasyIndie SaaS aspirants
8Personal AI AssistantMediumAgents-curious
CapstoneThe Multi-PDF "Second Brain"HardEveryone

Project 1: AI Study Assistant

Brief

A chatbot that turns any topic into a structured, beginner-friendly study plan: outline, key concepts, analogies, practice questions, and a quiz.

Goal

Practice prompt engineering, system prompts, structured outputs.

Tech Stack

  • Python, Streamlit
  • OpenAI gpt-4o-mini (or Gemini Flash)
  • Optional: ChromaDB for "save my study sessions"

UI Suggestions

  • Input: topic + level (beginner/intermediate/advanced)
  • Output: 4 tabs (Outline, Concepts, Practice Q, Quiz)
  • Sidebar: copy/export, share link

GitHub Structure

ai-study-assistant/
  app.py
  prompts.py
  requirements.txt
  .env.example
  README.md

Deployment

Streamlit Cloud, free tier. 30 minutes from push to live URL.

Stretch Ideas

  • Save sessions to Supabase by user
  • Export to PDF or Markdown
  • Difficulty-adaptive quiz that adjusts on wrong answers
  • Voice input via st.audio_input

Resume Bullet Template

Built and deployed an AI study assistant on Streamlit Cloud that generates structured study plans (outline, key concepts, practice questions, quiz) with prompt-engineered JSON outputs, used by N peers.


Project 2: AI Resume Builder

Brief

A web app where users paste a job description and their existing resume, and the app produces a tailored, ATS-friendly resume.

Goal

Practice structured outputs, JSON schema enforcement, and prompt patterns.

Tech Stack

  • Python, Streamlit
  • OpenAI structured outputs with JSON Schema
  • ReportLab or markdown-to-PDF for export

UI Suggestions

  • Two textareas: job description + current resume
  • "Tailor" button
  • Side-by-side diff of old vs new bullets
  • Download as PDF

GitHub Structure

ai-resume-builder/
  app.py
  schemas.py        # JSON schemas
  exporter.py       # markdown -> pdf
  requirements.txt
  README.md

Deployment

Streamlit Cloud. PDF export works in-browser.

Stretch Ideas

  • ATS keyword score before/after
  • Multi-resume library
  • LinkedIn URL import via Bright Data or simple paste
  • Cover letter generation

Resume Bullet Template

Shipped an AI resume tailoring app using OpenAI JSON Schema mode to produce 100% format-conformant outputs; achieved measurable keyword match lift vs the user's baseline resume.


Project 3: AI Notes Generator

Brief

Paste a long article or transcript and get clean, structured notes: summary, key points, action items, glossary.

Goal

Practice summarization patterns, chain-of-thought, and structured outputs.

Tech Stack

  • Python, Streamlit
  • OpenAI or Anthropic
  • youtube-transcript-api for YouTube input (optional)

UI Suggestions

  • Single textarea or URL input
  • Tabs: TL;DR, Highlights, Action Items, Glossary
  • Export as Markdown

GitHub Structure

ai-notes-gen/
  app.py
  loaders.py        # url -> text
  prompts.py
  requirements.txt
  README.md

Deployment

Streamlit Cloud.

Stretch Ideas

  • YouTube transcript loader
  • "Quiz me on these notes"
  • Notion or Obsidian sync
  • Weekly digest emails

Resume Bullet Template

Built an AI note generator that converts articles and YouTube transcripts into TL;DR + structured notes via chain-of-thought + JSON schema; reduced reading-prep time by 60% in a 10-user pilot.


Project 4: Personal AI Chatbot

Brief

The Module 6 chatbot, polished into a portfolio-grade project. Persona, streaming, memory, file upload, multi-provider support.

Goal

Showcase your chat app fundamentals end-to-end.

Tech Stack

  • Python, Streamlit
  • OpenAI, optionally Gemini and Anthropic
  • Supabase for persistent memory (optional)

UI Suggestions

  • Persona dropdown
  • Streaming chat with cancel
  • "Clear" and "Export"
  • Token usage in sidebar

GitHub Structure

See Module 6 capstone. Add a providers/ folder with one file per provider.

Stretch Ideas

  • Auth via Supabase
  • Per-conversation save and resume
  • Cost meter
  • Voice input

Resume Bullet Template

Deployed a multi-provider streaming AI chatbot with persona switching, persistent memory, and token usage display; used as the foundation for 3 client projects.


Project 5: PDF Question Answering App

Brief

The Module 9 PDF chatbot. Upload a PDF, ask questions, get cited answers.

Goal

Demonstrate complete RAG pipeline.

Tech Stack

  • Python, Streamlit
  • ChromaDB, OpenAI embeddings, OpenAI gpt-4o-mini
  • pypdf for parsing

UI Suggestions

  • Sidebar uploader and ingest progress
  • Chat with citations expander
  • "Show sources" toggle

GitHub Structure

See Module 9 in full.

Stretch Ideas

  • Multi-PDF library
  • Hybrid search (BM25 + vector)
  • Reranker (Cohere Rerank or Voyage Rerank)
  • Auth and per-user index

Resume Bullet Template

Built and deployed a production-style PDF chatbot using ChromaDB + OpenAI embeddings + RAG with per-page citations; ingest pipeline supports 100+ page documents with chunked, deduplicated indexing.


Project 6: AI Travel Planner

Brief

Input: destination, dates, budget, preferences. Output: a day-by-day itinerary with cost estimates and notes.

Goal

Practice complex structured outputs and tool use (search, currency conversion).

Tech Stack

  • Python, Streamlit (or Next.js for a stretch)
  • OpenAI with function/tool calling
  • Optional: SerpAPI or Tavily for live search

UI Suggestions

  • Form: city, dates, budget, vibes
  • Output: day cards with morning/afternoon/evening
  • Print-friendly view

GitHub Structure

ai-travel-planner/
  app.py
  tools.py          # search, currency
  prompts.py
  schemas.py
  requirements.txt
  README.md

Deployment

Streamlit Cloud or Vercel (Next.js stretch).

Stretch Ideas

  • Real-time prices via Skyscanner or Booking unofficial APIs
  • Multi-city itineraries
  • Map embed with markers
  • Currency switcher

Resume Bullet Template

Designed an AI travel planner using OpenAI function calling for live web search and currency conversion; produced structured day-by-day itineraries within user budgets with 95% schema conformance.


Project 7: AI Email Writer

Brief

Paste a few bullets about your goal, get a polished email in the chosen tone.

Goal

Practice tone control, few-shot prompting, and persona engineering.

Tech Stack

  • Python, Streamlit (or a Chrome extension stretch)
  • OpenAI or Anthropic
  • Mailto: links for one-click send

UI Suggestions

  • Tone selector (formal, friendly, urgent)
  • Length slider
  • "Regenerate" button
  • Copy to clipboard

GitHub Structure

ai-email-writer/
  app.py
  prompts.py
  examples/         # few-shot pairs
  requirements.txt
  README.md

Deployment

Streamlit Cloud.

Stretch Ideas

  • Chrome extension that reads selected text and rewrites
  • Reply suggestions for incoming emails
  • Multilingual support
  • Personal voice training via few-shot from sent items

Resume Bullet Template

Shipped an AI email writer with tone and length controls using few-shot prompting; integrated as a Chrome extension on a 50-user beta with 80% retention week-over-week.


Project 8: Personal AI Assistant

Brief

A multi-tool agent: it can search the web, read files, call calculators, and produce structured plans. The simplest possible "agent".

Goal

Practice tool use, agent orchestration, and structured planning.

Tech Stack

  • Python, FastAPI + simple HTML frontend (or Streamlit)
  • OpenAI function calling
  • Tools: web search (Tavily), calculator, file read

UI Suggestions

  • Chat with a "Tools used" sidebar
  • Steps visible (thought, action, observation)

GitHub Structure

personal-ai-assistant/
  main.py           # FastAPI
  tools/
    web_search.py
    calculator.py
    file_reader.py
  agent.py
  requirements.txt
  README.md

Deployment

Railway (FastAPI). Frontend on Vercel or as a static page.

Stretch Ideas

  • Add a memory tool (saves facts across sessions)
  • Calendar integration
  • Email drafting tool
  • Multi-step plans visible to the user

Resume Bullet Template

Built a Python + FastAPI personal AI assistant with multi-tool orchestration (search, calculator, file reading) using OpenAI function calling; ran 200+ tool calls per day in beta with full observability.


Capstone: The Multi-PDF "Second Brain"

Why this is your capstone

It combines every skill in the course: API calls, prompts, structured outputs, RAG, embeddings, deployment, safety, evals. After shipping this, your portfolio is interview-grade.

Brief

A web app where a user uploads many PDFs (lecture notes, books, articles), and chats with them as a single "second brain". Sources are cited. The system can also produce structured outputs (study plans, summaries, flashcards) on demand.

Required Features

  1. Multi-PDF ingest
  2. Persistent vector store
  3. Chat with citations
  4. Source viewer for each answer
  5. Structured output mode: "Make me 10 flashcards from chapter 3"
  6. Eval harness with at least 20 questions
  7. Safety: refusal rules, input filter, output validator
  8. Deployed at a public URL with auth (optional but recommended)
  9. Cost meter visible to user
  10. README with architecture diagram + Loom video
  • Frontend: Streamlit (or Next.js stretch)
  • Backend: optional FastAPI on Railway
  • Embeddings: OpenAI text-embedding-3-small
  • Vector DB: ChromaDB (or pgvector via Supabase for stretch)
  • LLM: gpt-4o-mini (with optional Anthropic or Gemini toggle)
  • Auth (stretch): Supabase
  • Logging: structured Python logging to file, or Logtail free tier

GitHub Structure

second-brain/
  app.py
  rag.py
  prompts.py
  schemas.py            # flashcard, study plan JSON schemas
  eval/
    cases.json
    runner.py
  safety/
    filters.py
    rules.md
  docs/
    architecture.md
    safety.yaml
  requirements.txt
  README.md

Build Plan (2 to 3 Weekends)

WeekendGoal
1Ingest + chat with citations (Module 9 scope)
2Structured outputs (flashcards, plans) + eval set + safety
3Polish: README, Loom, deploy, public URL, share

Stretch Goals

  • Hybrid search and reranker
  • Per-user index in Supabase pgvector
  • Image extraction from PDFs (vision LLM)
  • "Suggested questions" generated from indexed content
  • Export to Anki for flashcards
  • "Spaced repetition" reminder via email
  • Mobile-friendly UI

Eval Requirements

Your eval/cases.json must include at least 20 questions across these types:

  • 6 factual lookups (specific page/sentence answers)
  • 4 summarization tasks
  • 4 multi-document synthesis (requires combining chunks from 2+ PDFs)
  • 3 "unknown" cases (the answer is NOT in the corpus; the model must refuse)
  • 3 structured output cases (flashcards, study plan)

A passing capstone has at least 80% on factual, 90% refusal rate on unknowns, and 100% schema conformance on structured.

Submission Checklist

  • Public GitHub repo with README and architecture diagram
  • 60-second Loom or Screen recording
  • Live deployed URL
  • eval/ directory with cases and runner
  • docs/safety.yaml filled and committed
  • Cost meter in UI
  • At least 1 person used it and gave you feedback
  • LinkedIn post announcing the launch (link this back to the repo)

Resume Bullet Template

Shipped a "Second Brain" multi-PDF RAG application with citations, structured outputs (flashcards, study plans), an automated 20-case eval harness, safety filters, and a cost meter. Live at your-app-url. Deployed on Streamlit Cloud with ChromaDB and OpenAI APIs.


What "done" looks like

After this capstone, you can credibly:

  • Build any "chat with X" product from a one-line spec
  • Quote a price and timeline for client RAG work
  • Talk RAG architecture in a senior engineering interview
  • Mentor someone else through this same course

That is the bar. Now go build.

SEO Notes

  • Primary keyword: "AI projects for beginners"
  • Long-tail targets: "AI study assistant project", "AI resume builder project", "AI travel planner project", "PDF chatbot project"
  • Schema: Course schema with hasPart listing each project as a LearningResource
  • Featured snippet target: the project ledger table at the top