A focused 13-day study plan to strengthen modern AI engineering skills — from solid Python foundations to async FastAPI, LangGraph, and LLM integration.
Goal: Build end-to-end fluency as an AI Engineer — from typing and repo structure to async orchestration, Pydantic, FastAPI, and LangGraph agents.
Format:
⏱ Core (3 hrs) = must-do tasks
➕ Stretch (+1 hr) = optional if energy allows
Run your setup script to create the virtual environment and install dependencies:
# Run the setup script
.\setup.ps1| Day | Focus | Core (3 hrs) | Stretch (+1 hr) |
|---|---|---|---|
| Day 1 | Python Typing & Codebase Reading | • Write small scripts w/ typing, run mypy (1h)• Build class-based app w/ type hints (1h) • Explore Typer repo → trace CLI entrypoint (1h) |
Refactor to stricter typing |
| Day 2 | Shell, venv, Codebase Structure | • Automate setup script (venv, deps, tests) (1h)• Add requirements.txt + pyproject.toml (1h)• Explore cookiecutter templates (1h) |
Add a Makefile |
| Day 3 | Git Workflows | • Branch → PR → merge workflow (1h) • Practice rebasing & resolving conflicts (1h) • Explore GitPython (1h) |
Use git bisect on a bug |
| Day 4 | VSCode & Debugging | • Set up black, ruff, flake8, mypy (1h)• Debug project w/ breakpoints (1h) • Explore black repo (1h) |
Generate docs w/ pdoc |
| Day 5 | Pydantic Models | • Define models (User, Job, Resume) (1h)• Validate & test invalid data (1h) • Explore Pydantic tests (1h) |
Nested models + export schema |
| Day 6 | FastAPI Basics | • Build /hello + /predict endpoints (1h)• Add Pydantic models + tests (1h) • Explore fastapi-realworld-example-app (1h) |
Add logging middleware |
| Day 7 | Async FastAPI | • Convert endpoints to async (1h) • Simulate async DB/API calls (1h) • Explore httpx async requests (1h) |
Integration tests for concurrency |
| Day | Focus | Core (3 hrs) | Stretch (+1 hr) |
|---|---|---|---|
| Day 8 | LangGraph Basics | • Build simple agent (calculator + reformatter) (1h) • Add branching logic w/ state (1h) • Explore LangGraph examples (1h) |
Error-handling node |
| Day 9 | Async LangGraph + FastAPI | • Add async tool calls in LangGraph (1h) • Wrap in FastAPI /chat (1h)• Explore Starlette (1h) |
Streaming response w/ async yield |
| Day 10 | LLM Usage Mindset | • Experiment w/ OpenAI API: temp, few-shot vs zero-shot (1h) • Build a prompt evaluator script (1h) • Explore OpenAI Cookbook (1h) |
Compare GPT outputs vs sentence-transformers similarity |
| Day 11 | Feedback Loops | • Log model outputs as JSON (1h) • Build CLI upvote/downvote (1h) • Explore spaCy Streamlit (1h) |
Store feedback in SQLite & query it |
| Day 12 | Fine-tuning Encoders | • Fine-tune Sentence-Transformer on toy dataset (1h) • Write typed training loop (1h) • Explore Sentence-Transformers examples (1h) |
Try LoRA on a small model |
| Day 13 | Ontology & Embeddings | • Load ESCO / O*NET sample into SQLite (1h) • Embed jobs & run similarity search (1h) • Explore Haystack (1h) |
Add FastAPI /job-match endpoint |
Git Branching: https://learngitbranching.js.org
Security + Linux Commands: https://overthewire.org/wargames/
LangGraph: https://academy.langchain.com/, https://www.youtube.com/watch?v=jGg_1h0qzaM&t=524s
seam-ai-prep/
│
├── week1_foundations/
│ ├── day1_typing/
│ ├── day2_shell_venv_codebase/
│ ├── day3_gitworkflows/
│ └── ...
│
├── week2_langgraph_llm/
│ ├── day8_langgraph_basics/
│ ├── day9_async_integration/
│ └── ...
│
├── requirements.txt
├── pyproject.toml
├── setup.ps1
└── README.md