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:
- Read "Brief" and "Goal".
- Set up the GitHub repo from the suggested structure.
- Build the minimum version, deploy, ship.
- Pick 1 to 2 "Stretch ideas" to ship the next weekend.
- 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
| # | Project | Difficulty | Best for |
|---|---|---|---|
| 1 | AI Study Assistant | Easy | Students |
| 2 | AI Resume Builder | Easy | Career switchers |
| 3 | AI Notes Generator | Easy | Productivity nerds |
| 4 | Personal AI Chatbot | Easy | All |
| 5 | PDF Question Answering App | Medium | Aspiring RAG engineers |
| 6 | AI Travel Planner | Medium | Product-minded |
| 7 | AI Email Writer | Easy | Indie SaaS aspirants |
| 8 | Personal AI Assistant | Medium | Agents-curious |
| Capstone | The Multi-PDF "Second Brain" | Hard | Everyone |
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-apifor 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 pypdffor 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
- Multi-PDF ingest
- Persistent vector store
- Chat with citations
- Source viewer for each answer
- Structured output mode: "Make me 10 flashcards from chapter 3"
- Eval harness with at least 20 questions
- Safety: refusal rules, input filter, output validator
- Deployed at a public URL with auth (optional but recommended)
- Cost meter visible to user
- README with architecture diagram + Loom video
Tech Stack (Recommended)
- 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
loggingto 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)
| Weekend | Goal |
|---|---|
| 1 | Ingest + chat with citations (Module 9 scope) |
| 2 | Structured outputs (flashcards, plans) + eval set + safety |
| 3 | Polish: 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.yamlfilled 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:
Courseschema withhasPartlisting each project as aLearningResource - Featured snippet target: the project ledger table at the top