AI-Augmented Software Engineering portfolio archive — lectures, homework, capstone RAG projects. By an AI Engineer × SRE.
Python
1
305 commits
updated Jul 20, 2026
AI Engineer × SRE — production-minded systems · grounded RAG · agentic ops · deterministic safety floors
Employer review · Featured work · Skills · Architecture · Learning journey · Curriculum · MCP & agents · Evidence gallery · Quick start
Re'em Mor · B.Sc. CS (GPA 91) · Production SRE/NOC @ regulated multi-jurisdiction gaming · Profile README
Former repo name:
amdocs-ai-course(GitHub redirects automatically)
| Audience | Start here | Time |
|---|---|---|
| Hiring manager / recruiter | 60-second review → PITER AiOps | ~2 min |
| Technical interviewer | Featured work → incident-assistant-rag/ → Evidence gallery | ~10 min |
| Engineering lead (AI/SRE) | Skills matrix · RAG evolution · Production habits | ~15 min |
| Self-learner | Quick start · docs/SYLLABUS.md | — |
The headline: I build AI systems that survive production — not demos that only work on the happy path.
By day I run regulated, multi-jurisdiction infrastructure (500+ nodes, Kubernetes, Terraform, on-call incident response). This archive shows how I applied that ops mindset to AI engineering: grounded RAG, tool-using agents, MCP integrations, and guardrails that override LLM output when safety matters.
Review in this order:
Four stages, each with runnable artifacts — not slide-only coursework.
| Stage | Topics mastered | Key deliverables | Outcome |
|---|---|---|---|
| 1 — Foundations | Python 3.12, OOP, NumPy, pytest | hw01–03, lectures 01–03 | Typed, tested Python baseline |
| 2 — RAG & Web | Embeddings, FAISS, chunking, Flask/FastAPI | hw04 scaffold → IncidentIQ | Grounded answers + source citation + no-context refusal |
| 3 — Ops & Agents | Docker, EC2, MCP, n8n, Bedrock, LangGraph, Open WebUI | hw05–07, lectures 07–11 | Containerized labs, agent workflows, tool servers |
| 4 — Capstone & Flagships | Bedrock KB → Agent, extraction to standalone repos | PITER, bot, HINDSIGHT | Production-minded systems with CI, Docker, guardrails |
Engineering principles repeated across every project:
Production-minded AI systems — each with screenshot evidence, stack, and test counts. Pin order: flagships README.
| What it does | Agentic incident-response for NOC/SRE: Bedrock Agent + RAG over runbooks, 4 Lambda action groups, session memory, safe escalation previews (humans decide). |
| Stack | AWS Bedrock · RAG · Lambda · Flask · React · Docker |
| Highlights | Alert storm → P1 triage → RAG citations → correlation chain → escalation preview |
| What it does | Full-stack incident assistant: upload runbooks → FAISS index → grounded chat with source citations, confidence scores, and fixed refusal when retrieval misses. |
| Stack | FastAPI · OpenAI · FAISS · React · Docker |
| Highlights | Deterministic no-context refusal · RAG eval harness · Swagger API · incident analysis panel |
| What it does | Ingests ops documents → Gemini extraction → deterministic enrichment → semantic search over incident history. Region-aware routing for SEV1/confidential alerts. |
| Stack | n8n · FastAPI · Gemini · Supabase / pgvector |
| Highlights | Cloud + local Docker · daily digest workflow · form intake → pipeline → email/Sheets |
| What it does | Bilingual (HE/EN) Telegram course-ops: schedule, recordings, homework submission, RAG recommendations, admin FSM flows. LLM classifies; code enforces rules. |
| Stack | Python · uv · SQLAlchemy/Alembic · LangGraph · Docker · mypy strict |
| Highlights | Async PTB v21 · all externals mocked in CI · Alembic migrations · multi-LLM routing |
| What it does | Same incident domain as IncidentIQ, using managed Bedrock Knowledge Base — stepping stone to PITER Agent. |
| Stack | Flask · Bedrock KB · React · EC2 |
| Highlights | RetrieveAndGenerate · refusal on low confidence · EC2 deployment evidence |
RAG progression (honest arc):
Track A (OpenAI + local FAISS): L04 → L06 → hw04 → incident-assistant-rag (capstone)
Track B (AWS Bedrock): L09 → incident-rag-bedrock → piter-aiops (flagship Agent)
Hero image sources: docs/screenshots/featured/ · Regenerate: node scripts/capture-featured-previews.mjs
| Domain | Skills | Evidence in this repo |
|---|---|---|
| RAG & retrieval | Embeddings, FAISS, chunking, similarity thresholds, evaluation harness, source attribution | IncidentIQ · Bedrock iteration |
| LLM applications | Grounded generation, refusal paths, prompt + tool design, multi-LLM routing | Capstone · hw06 n8n agent · bot |
| Agents & orchestration | AWS Bedrock Agent, LangChain/LangGraph, n8n workflows, MCP tool servers | PITER · L08–11 · hw07 tools |
| Backend | FastAPI, Flask, async Python, pydantic v2, REST APIs, OpenAPI | Capstone · lectures 05–06 · hw07 FastAPI server |
| Frontend | React, TypeScript, Vite, ops consoles | Capstone · PITER frontend |
| SRE & DevOps | Docker Compose, EC2 labs, Nginx, health checks, CI/CD, secrets hygiene | hw05 · CI · .env.example |
| Quality | pytest (mocked externals), ruff, structured logging, idempotent scripts | 201+ in-repo tests · 4 CI matrices |
| Agent dev tooling | MCP server wiring, Cursor skills/rules, cross-tool AGENTS.md | .mcp.json · docs/AGENT-TOOLING.md |
| Area | Technologies |
|---|---|
| Languages | Python 3.12 |
| Web | FastAPI, Flask, React, TypeScript, Vite |
| AI | OpenAI, FAISS, AWS Bedrock KB/Agent, LangChain, LangGraph, Ollama |
| Data | SQLite, Postgres, pgvector, Google Sheets (HINDSIGHT) |
| Ops | Docker, EC2, n8n, MCP, Kubernetes & Terraform (production day-job context) |
| Quality | ruff, pytest, GitHub Actions |
Colour-coded ecosystem — curriculum → in-repo capstones → external flagships:
flowchart TB
subgraph archive["This repo — ai-engineering-portfolio"]
L["lectures/ 01–11"]
H["homework/ hw01–hw07"]
CAP["incident-assistant-rag<br/>FastAPI · OpenAI · FAISS"]
ITER["incident-rag-bedrock<br/>Bedrock KB iteration"]
end
subgraph external["flagships/ → standalone repos"]
PITER["piter-aiops<br/>Bedrock Agent + tools"]
HIND["hindsight<br/>n8n + Gemini pipeline"]
BOT["course-assistant-bot<br/>Telegram HE/EN"]
end
L --> H --> CAP
ITER -.->|evolved into| PITER
H --> BOT
CAP -.->|parallel track| PITER
classDef archive fill:#11233a,stroke:#3b82f6,color:#cfe0ff
classDef cap fill:#1e1430,stroke:#a855f7,color:#e6d6ff
classDef ext fill:#2a2010,stroke:#f59e0b,color:#ffe6bf
class L,H archive
class CAP,ITER cap
class PITER,HIND,BOT ext
| Layer | Location | Role |
|---|---|---|
| Curriculum | lectures/, homework/, exercises/ | Authored notes + runnable demos |
| Capstone | projects/incident-assistant-rag/ | Featured RAG app — 90 tests, evaluation harness |
| Iteration | projects/incident-rag-bedrock/ | Bedrock KB stepping-stone → PITER |
| Flagships | flagships/ | Pointers to external production repos |
| Meta | docs/, AGENTS.md, .mcp.json | Setup, syllabus, agent/MCP tooling |
Deep dive: docs/architecture/repository-architecture.md
flowchart LR
subgraph trackA [Track A — Local FAISS]
A1[Upload PDF] --> A2[Chunk + embed]
A2 --> A3[FAISS index]
A3 --> A4[Similarity search]
A4 --> A5{Above threshold?}
A5 -->|yes| A6[OpenAI chat + sources]
A5 -->|no| A7[Fixed refusal]
end
subgraph trackB [Track B — AWS Bedrock]
B1[S3 corpus] --> B2[Bedrock KB sync]
B2 --> B3[RetrieveAndGenerate]
B3 --> B4{Confidence OK?}
B4 -->|yes| B5[Grounded answer]
B4 -->|no| B6[Refusal]
B2 --> B7[Bedrock Agent + Lambda tools]
B7 --> B8[PITER AiOps]
end
trackA --> CAP[incident-assistant-rag]
trackB --> BED[incident-rag-bedrock]
BED --> B8
sequenceDiagram
autonumber
participant U as Operator
participant UI as React UI
participant API as FastAPI
participant IDX as FAISS index
participant LLM as OpenAI
U->>UI: Upload runbook PDF
UI->>API: POST /documents
API->>IDX: Chunk + embed + store
U->>UI: Ask incident question
UI->>API: POST /chat
API->>IDX: Similarity search
alt hits above threshold
API->>LLM: Prompt + retrieved chunks
LLM-->>API: Grounded answer
API-->>UI: Answer + sources + scores
else no context
API-->>UI: Fixed refusal — no LLM call
end
flowchart TB
subgraph stage1 [Stage 1 Foundations]
L01[L01 Jupyter Python]
L02[L02 Python intro]
L03[L03 OOP NumPy]
HW01[hw01 Jupyter]
HW02[hw02 Python scripts]
HW03[hw03 Titanic CLI]
L01 --> L02 --> L03
L01 --> HW01
L02 --> HW02
L03 --> HW03
end
subgraph stage2 [Stage 2 RAG and Web]
L04[L04 NLP FAISS RAG]
L05[L05 Flask]
L06[L06 Flask SQLite RAG]
HW04[hw04 RAG app]
L04 --> L05 --> L06
L04 --> HW04
L06 --> HW04
end
subgraph stage3 [Stage 3 Ops and Agents]
L07[L07 Docker AWS]
L08[L08 MCP]
L09[L09 Bedrock n8n]
L10[L10 LangChain LangGraph]
L11[L11 Open WebUI]
HW05[hw05 EC2 Nginx]
HW06[hw06 n8n agent]
HW07[hw07 Open WebUI tools]
L07 --> HW05
L09 --> HW06
L08 --> L11
L11 --> HW07
L10 --> HW07
end
subgraph stage4 [Stage 4 Capstone and Flagships]
CAP[incident-assistant-rag]
BED[incident-rag-bedrock]
PITER[piter-aiops external]
HW04 -.-> CAP
L06 -.-> CAP
BED -.-> PITER
end
stage1 --> stage2 --> stage3 --> stage4
classDef foundations fill:#11233a,stroke:#3b82f6,color:#cfe0ff
classDef rag fill:#1a2e1a,stroke:#22c55e,color:#dcfce7
classDef ops fill:#2a2010,stroke:#f59e0b,color:#ffe6bf
classDef cap fill:#1e1430,stroke:#a855f7,color:#e6d6ff
class L01,L02,L03,HW01,HW02,HW03 foundations
class L04,L05,L06,HW04 rag
class L07,L08,L09,L10,L11,HW05,HW06,HW07 ops
class CAP,BED,PITER cap
Full map: docs/SYLLABUS.md · lectures/README.md · homework/README.md
| # | Topic | Path | Skills gained |
|---|---|---|---|
| 01 | Jupyter & Python basics | lectures/01_jupyter_python_basics/ | Python, notebooks |
| 02 | Python foundations | lectures/02_python_intro/ | Functions, I/O, data structures |
| 03 | OOP & NumPy | lectures/03_oop_numpy/ | Classes, arrays |
| 04 | NLP, embeddings, FAISS, RAG | lectures/04_nlp_rag/ | Embeddings, vector search, RAG |
| 05 | Flask web development | lectures/05_flask_intro/ | Flask, Docker |
| 06 | Flask + SQLite + RAG | lectures/06_flask_advanced_rag/ | REST API, FAISS chat UI |
| 07 | Docker & AWS EC2 | lectures/07_docker_aws/ | Containers, EC2, architecture diagrams |
| 08 | Model Context Protocol | lectures/08_mcp/ | MCP stdio servers, tool-calling |
| 09 | Bedrock Flows & n8n | lectures/09_flows_bedrock_n8n/ | Bedrock, workflow automation |
| 10 | LangChain & LangGraph | lectures/10_langchain_langgraph/ | Agent memory, routing, graphs |
| 11 | Local models & Open WebUI | lectures/11_local_models_webui/ | Ollama, local KB → hw07 |
| HW | Topic | Status | Evidence |
|---|---|---|---|
| hw01 | Jupyter intro | Complete | Notebook |
| hw02 | Python foundations | Complete | Scripts + exercises |
| hw03 | OOP / Titanic CLI | Complete | pytest |
| hw04 | RAG web app | Scaffold — full impl in capstone | Docker scaffold |
| hw05 | EC2 / Docker / Nginx | Complete | Screenshots |
| hw06 | n8n customer-support agent | Complete | Workflow + guardrails |
| hw07 | Open WebUI + MCP tools | Complete | Screenshots · Playwright e2e |
This repo is configured for AI-assisted development — MCP servers, Cursor skills, and cross-tool agent guidance (AGENTS.md).
flowchart LR
subgraph ide [Agent IDEs]
Cursor[Cursor]
Claude[Claude Code]
end
subgraph mcp [MCP layer — .mcp.json]
CT[course-tools]
PW[playwright]
KG[kaggle]
AWK[aws-knowledge]
AWA[aws-api]
BKB[bedrock-kb]
N8N[n8n-workflows]
LOV[lovable]
end
subgraph use [Used for]
L08[Lecture 08 demo]
E2E[hw07 UI capture]
DS[hw07 datasets]
DOC[AWS docs Q&A]
BR[Bedrock KB labs]
HW6[hw06 workflows]
end
Cursor --> mcp
Claude --> mcp
CT --> L08
PW --> E2E
KG --> DS
AWK --> DOC
BKB --> BR
N8N --> HW6
| Server | Use in this repo |
|---|---|
course-tools | Lecture 08 stdio MCP demo |
playwright | E2E / UI capture (hw07) |
kaggle | hw07 Netflix dataset |
aws-knowledge | AWS documentation Q&A |
aws-api | AWS API operations |
bedrock-kb | Bedrock Knowledge Base retrieval |
n8n-workflows | hw06 / lecture 09 automation |
lovable | Optional UI experiments |
Bootstrap: docs/AGENT-TOOLING.md · scripts/setup-dev.ps1 · .mcp.json
Detailed captures beyond the featured heroes above — homework labs, API surface, and test output.
Architecture: projects/incident-assistant-rag/docs/architecture.png
PITER · HINDSIGHT · course-assistant-bot
Index: docs/screenshots/README.md · Hero captures: docs/screenshots/featured/
Ops-minded patterns backed by repo evidence — not demo-only AI:
| Signal | Where |
|---|---|
| CI gate — ruff + 4 pytest matrices | .github/workflows/ci.yml |
| Health / deep checks | Capstone /health endpoints |
| No-context refusal (deterministic) | Capstone + Bedrock iteration |
| RAG evaluation harness | Capstone eval 5/5 |
| Docker Compose reproducibility | Capstone, hw07 |
| Secrets hygiene | .env.example, MCP ${env:VAR} |
| Incident-domain corpus | Shared runbook samples across projects |
| EC2 / container ops lab | homework/hw05/nginx-docker-lab/ |
| Guardrails in n8n agent | Input guardrails + agent prompt — hw06 |
docs/ lectures/ homework/ exercises/ projects/ flagships/ resources/ scripts/
| Folder | Role |
|---|---|
lectures/ | Lessons 01–11 — demos colocated with notes |
homework/ | Assignments hw01–07 — evidence colocated |
projects/ | In-repo capstone + Bedrock iteration |
flagships/ | Pointers → external production repos |
docs/ | Syllabus, setup, architecture, agent tooling |
Full map: docs/STRUCTURE.md · Clean local clutter: .\scripts\clean-workspace.ps1
git clone https://github.com/reem-mor/ai-engineering-portfolio.git
cd ai-engineering-portfolio
python -m venv .venv && source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
pip install -r requirements-dev.txt
Capstone (Docker):
cd projects/incident-assistant-rag && docker compose up --build
# → http://localhost:8080
CI parity:
cd projects/incident-assistant-rag/backend && pip install -r requirements.txt && pytest -q
cd projects/incident-rag-bedrock && pip install -r requirements.txt && pytest -q
cd lectures/10_langchain_langgraph && pip install -r requirements.txt && pytest -q
cd homework/hw07 && pip install -r requirements.txt && pytest -q
ruff check .
Human setup: docs/setup.md · Agent bootstrap: scripts/setup-dev.ps1
| Doc | Contents |
|---|---|
docs/README.md | Documentation hub |
docs/SYLLABUS.md | Full curriculum map |
docs/STRUCTURE.md | Repository layout |
flagships/README.md | External repo pointers + pin order |
docs/AGENT-TOOLING.md | MCP, skills, CI matrix |
docs/setup.md | Clone, venv, per-project deps |
docs/portfolio/GITHUB_PROFILE_PLAYBOOK.md | Profile README + GitHub pins |
AGENTS.md | Cross-tool agent guidance |
MIT for original code — LICENSE. Course slides/handouts: resources/MANIFEST.md only (instructor IP — not redistributed).
AI-Augmented Software Engineering portfolio archive — lectures, homework, capstone RAG projects. By an AI Engineer × SRE.
Python
1
305 commits
updated Jul 20, 2026
AI Engineer × SRE — production-minded systems · grounded RAG · agentic ops · deterministic safety floors
Employer review · Featured work · Skills · Architecture · Learning journey · Curriculum · MCP & agents · Evidence gallery · Quick start
Re'em Mor · B.Sc. CS (GPA 91) · Production SRE/NOC @ regulated multi-jurisdiction gaming · Profile README
Former repo name:
amdocs-ai-course(GitHub redirects automatically)
| Audience | Start here | Time |
|---|---|---|
| Hiring manager / recruiter | 60-second review → PITER AiOps | ~2 min |
| Technical interviewer | Featured work → incident-assistant-rag/ → Evidence gallery | ~10 min |
| Engineering lead (AI/SRE) | Skills matrix · RAG evolution · Production habits | ~15 min |
| Self-learner | Quick start · docs/SYLLABUS.md | — |
The headline: I build AI systems that survive production — not demos that only work on the happy path.
By day I run regulated, multi-jurisdiction infrastructure (500+ nodes, Kubernetes, Terraform, on-call incident response). This archive shows how I applied that ops mindset to AI engineering: grounded RAG, tool-using agents, MCP integrations, and guardrails that override LLM output when safety matters.
Review in this order:
Four stages, each with runnable artifacts — not slide-only coursework.
| Stage | Topics mastered | Key deliverables | Outcome |
|---|---|---|---|
| 1 — Foundations | Python 3.12, OOP, NumPy, pytest | hw01–03, lectures 01–03 | Typed, tested Python baseline |
| 2 — RAG & Web | Embeddings, FAISS, chunking, Flask/FastAPI | hw04 scaffold → IncidentIQ | Grounded answers + source citation + no-context refusal |
| 3 — Ops & Agents | Docker, EC2, MCP, n8n, Bedrock, LangGraph, Open WebUI | hw05–07, lectures 07–11 | Containerized labs, agent workflows, tool servers |
| 4 — Capstone & Flagships | Bedrock KB → Agent, extraction to standalone repos | PITER, bot, HINDSIGHT | Production-minded systems with CI, Docker, guardrails |
Engineering principles repeated across every project:
Production-minded AI systems — each with screenshot evidence, stack, and test counts. Pin order: flagships README.
| What it does | Agentic incident-response for NOC/SRE: Bedrock Agent + RAG over runbooks, 4 Lambda action groups, session memory, safe escalation previews (humans decide). |
| Stack | AWS Bedrock · RAG · Lambda · Flask · React · Docker |
| Highlights | Alert storm → P1 triage → RAG citations → correlation chain → escalation preview |
| What it does | Full-stack incident assistant: upload runbooks → FAISS index → grounded chat with source citations, confidence scores, and fixed refusal when retrieval misses. |
| Stack | FastAPI · OpenAI · FAISS · React · Docker |
| Highlights | Deterministic no-context refusal · RAG eval harness · Swagger API · incident analysis panel |
| What it does | Ingests ops documents → Gemini extraction → deterministic enrichment → semantic search over incident history. Region-aware routing for SEV1/confidential alerts. |
| Stack | n8n · FastAPI · Gemini · Supabase / pgvector |
| Highlights | Cloud + local Docker · daily digest workflow · form intake → pipeline → email/Sheets |
| What it does | Bilingual (HE/EN) Telegram course-ops: schedule, recordings, homework submission, RAG recommendations, admin FSM flows. LLM classifies; code enforces rules. |
| Stack | Python · uv · SQLAlchemy/Alembic · LangGraph · Docker · mypy strict |
| Highlights | Async PTB v21 · all externals mocked in CI · Alembic migrations · multi-LLM routing |
| What it does | Same incident domain as IncidentIQ, using managed Bedrock Knowledge Base — stepping stone to PITER Agent. |
| Stack | Flask · Bedrock KB · React · EC2 |
| Highlights | RetrieveAndGenerate · refusal on low confidence · EC2 deployment evidence |
RAG progression (honest arc):
Track A (OpenAI + local FAISS): L04 → L06 → hw04 → incident-assistant-rag (capstone)
Track B (AWS Bedrock): L09 → incident-rag-bedrock → piter-aiops (flagship Agent)
Hero image sources: docs/screenshots/featured/ · Regenerate: node scripts/capture-featured-previews.mjs
| Domain | Skills | Evidence in this repo |
|---|---|---|
| RAG & retrieval | Embeddings, FAISS, chunking, similarity thresholds, evaluation harness, source attribution | IncidentIQ · Bedrock iteration |
| LLM applications | Grounded generation, refusal paths, prompt + tool design, multi-LLM routing | Capstone · hw06 n8n agent · bot |
| Agents & orchestration | AWS Bedrock Agent, LangChain/LangGraph, n8n workflows, MCP tool servers | PITER · L08–11 · hw07 tools |
| Backend | FastAPI, Flask, async Python, pydantic v2, REST APIs, OpenAPI | Capstone · lectures 05–06 · hw07 FastAPI server |
| Frontend | React, TypeScript, Vite, ops consoles | Capstone · PITER frontend |
| SRE & DevOps | Docker Compose, EC2 labs, Nginx, health checks, CI/CD, secrets hygiene | hw05 · CI · .env.example |
| Quality | pytest (mocked externals), ruff, structured logging, idempotent scripts | 201+ in-repo tests · 4 CI matrices |
| Agent dev tooling | MCP server wiring, Cursor skills/rules, cross-tool AGENTS.md | .mcp.json · docs/AGENT-TOOLING.md |
| Area | Technologies |
|---|---|
| Languages | Python 3.12 |
| Web | FastAPI, Flask, React, TypeScript, Vite |
| AI | OpenAI, FAISS, AWS Bedrock KB/Agent, LangChain, LangGraph, Ollama |
| Data | SQLite, Postgres, pgvector, Google Sheets (HINDSIGHT) |
| Ops | Docker, EC2, n8n, MCP, Kubernetes & Terraform (production day-job context) |
| Quality | ruff, pytest, GitHub Actions |
Colour-coded ecosystem — curriculum → in-repo capstones → external flagships:
flowchart TB
subgraph archive["This repo — ai-engineering-portfolio"]
L["lectures/ 01–11"]
H["homework/ hw01–hw07"]
CAP["incident-assistant-rag<br/>FastAPI · OpenAI · FAISS"]
ITER["incident-rag-bedrock<br/>Bedrock KB iteration"]
end
subgraph external["flagships/ → standalone repos"]
PITER["piter-aiops<br/>Bedrock Agent + tools"]
HIND["hindsight<br/>n8n + Gemini pipeline"]
BOT["course-assistant-bot<br/>Telegram HE/EN"]
end
L --> H --> CAP
ITER -.->|evolved into| PITER
H --> BOT
CAP -.->|parallel track| PITER
classDef archive fill:#11233a,stroke:#3b82f6,color:#cfe0ff
classDef cap fill:#1e1430,stroke:#a855f7,color:#e6d6ff
classDef ext fill:#2a2010,stroke:#f59e0b,color:#ffe6bf
class L,H archive
class CAP,ITER cap
class PITER,HIND,BOT ext
| Layer | Location | Role |
|---|---|---|
| Curriculum | lectures/, homework/, exercises/ | Authored notes + runnable demos |
| Capstone | projects/incident-assistant-rag/ | Featured RAG app — 90 tests, evaluation harness |
| Iteration | projects/incident-rag-bedrock/ | Bedrock KB stepping-stone → PITER |
| Flagships | flagships/ | Pointers to external production repos |
| Meta | docs/, AGENTS.md, .mcp.json | Setup, syllabus, agent/MCP tooling |
Deep dive: docs/architecture/repository-architecture.md
flowchart LR
subgraph trackA [Track A — Local FAISS]
A1[Upload PDF] --> A2[Chunk + embed]
A2 --> A3[FAISS index]
A3 --> A4[Similarity search]
A4 --> A5{Above threshold?}
A5 -->|yes| A6[OpenAI chat + sources]
A5 -->|no| A7[Fixed refusal]
end
subgraph trackB [Track B — AWS Bedrock]
B1[S3 corpus] --> B2[Bedrock KB sync]
B2 --> B3[RetrieveAndGenerate]
B3 --> B4{Confidence OK?}
B4 -->|yes| B5[Grounded answer]
B4 -->|no| B6[Refusal]
B2 --> B7[Bedrock Agent + Lambda tools]
B7 --> B8[PITER AiOps]
end
trackA --> CAP[incident-assistant-rag]
trackB --> BED[incident-rag-bedrock]
BED --> B8
sequenceDiagram
autonumber
participant U as Operator
participant UI as React UI
participant API as FastAPI
participant IDX as FAISS index
participant LLM as OpenAI
U->>UI: Upload runbook PDF
UI->>API: POST /documents
API->>IDX: Chunk + embed + store
U->>UI: Ask incident question
UI->>API: POST /chat
API->>IDX: Similarity search
alt hits above threshold
API->>LLM: Prompt + retrieved chunks
LLM-->>API: Grounded answer
API-->>UI: Answer + sources + scores
else no context
API-->>UI: Fixed refusal — no LLM call
end
flowchart TB
subgraph stage1 [Stage 1 Foundations]
L01[L01 Jupyter Python]
L02[L02 Python intro]
L03[L03 OOP NumPy]
HW01[hw01 Jupyter]
HW02[hw02 Python scripts]
HW03[hw03 Titanic CLI]
L01 --> L02 --> L03
L01 --> HW01
L02 --> HW02
L03 --> HW03
end
subgraph stage2 [Stage 2 RAG and Web]
L04[L04 NLP FAISS RAG]
L05[L05 Flask]
L06[L06 Flask SQLite RAG]
HW04[hw04 RAG app]
L04 --> L05 --> L06
L04 --> HW04
L06 --> HW04
end
subgraph stage3 [Stage 3 Ops and Agents]
L07[L07 Docker AWS]
L08[L08 MCP]
L09[L09 Bedrock n8n]
L10[L10 LangChain LangGraph]
L11[L11 Open WebUI]
HW05[hw05 EC2 Nginx]
HW06[hw06 n8n agent]
HW07[hw07 Open WebUI tools]
L07 --> HW05
L09 --> HW06
L08 --> L11
L11 --> HW07
L10 --> HW07
end
subgraph stage4 [Stage 4 Capstone and Flagships]
CAP[incident-assistant-rag]
BED[incident-rag-bedrock]
PITER[piter-aiops external]
HW04 -.-> CAP
L06 -.-> CAP
BED -.-> PITER
end
stage1 --> stage2 --> stage3 --> stage4
classDef foundations fill:#11233a,stroke:#3b82f6,color:#cfe0ff
classDef rag fill:#1a2e1a,stroke:#22c55e,color:#dcfce7
classDef ops fill:#2a2010,stroke:#f59e0b,color:#ffe6bf
classDef cap fill:#1e1430,stroke:#a855f7,color:#e6d6ff
class L01,L02,L03,HW01,HW02,HW03 foundations
class L04,L05,L06,HW04 rag
class L07,L08,L09,L10,L11,HW05,HW06,HW07 ops
class CAP,BED,PITER cap
Full map: docs/SYLLABUS.md · lectures/README.md · homework/README.md
| # | Topic | Path | Skills gained |
|---|---|---|---|
| 01 | Jupyter & Python basics | lectures/01_jupyter_python_basics/ | Python, notebooks |
| 02 | Python foundations | lectures/02_python_intro/ | Functions, I/O, data structures |
| 03 | OOP & NumPy | lectures/03_oop_numpy/ | Classes, arrays |
| 04 | NLP, embeddings, FAISS, RAG | lectures/04_nlp_rag/ | Embeddings, vector search, RAG |
| 05 | Flask web development | lectures/05_flask_intro/ | Flask, Docker |
| 06 | Flask + SQLite + RAG | lectures/06_flask_advanced_rag/ | REST API, FAISS chat UI |
| 07 | Docker & AWS EC2 | lectures/07_docker_aws/ | Containers, EC2, architecture diagrams |
| 08 | Model Context Protocol | lectures/08_mcp/ | MCP stdio servers, tool-calling |
| 09 | Bedrock Flows & n8n | lectures/09_flows_bedrock_n8n/ | Bedrock, workflow automation |
| 10 | LangChain & LangGraph | lectures/10_langchain_langgraph/ | Agent memory, routing, graphs |
| 11 | Local models & Open WebUI | lectures/11_local_models_webui/ | Ollama, local KB → hw07 |
| HW | Topic | Status | Evidence |
|---|---|---|---|
| hw01 | Jupyter intro | Complete | Notebook |
| hw02 | Python foundations | Complete | Scripts + exercises |
| hw03 | OOP / Titanic CLI | Complete | pytest |
| hw04 | RAG web app | Scaffold — full impl in capstone | Docker scaffold |
| hw05 | EC2 / Docker / Nginx | Complete | Screenshots |
| hw06 | n8n customer-support agent | Complete | Workflow + guardrails |
| hw07 | Open WebUI + MCP tools | Complete | Screenshots · Playwright e2e |
This repo is configured for AI-assisted development — MCP servers, Cursor skills, and cross-tool agent guidance (AGENTS.md).
flowchart LR
subgraph ide [Agent IDEs]
Cursor[Cursor]
Claude[Claude Code]
end
subgraph mcp [MCP layer — .mcp.json]
CT[course-tools]
PW[playwright]
KG[kaggle]
AWK[aws-knowledge]
AWA[aws-api]
BKB[bedrock-kb]
N8N[n8n-workflows]
LOV[lovable]
end
subgraph use [Used for]
L08[Lecture 08 demo]
E2E[hw07 UI capture]
DS[hw07 datasets]
DOC[AWS docs Q&A]
BR[Bedrock KB labs]
HW6[hw06 workflows]
end
Cursor --> mcp
Claude --> mcp
CT --> L08
PW --> E2E
KG --> DS
AWK --> DOC
BKB --> BR
N8N --> HW6
| Server | Use in this repo |
|---|---|
course-tools | Lecture 08 stdio MCP demo |
playwright | E2E / UI capture (hw07) |
kaggle | hw07 Netflix dataset |
aws-knowledge | AWS documentation Q&A |
aws-api | AWS API operations |
bedrock-kb | Bedrock Knowledge Base retrieval |
n8n-workflows | hw06 / lecture 09 automation |
lovable | Optional UI experiments |
Bootstrap: docs/AGENT-TOOLING.md · scripts/setup-dev.ps1 · .mcp.json
Detailed captures beyond the featured heroes above — homework labs, API surface, and test output.
Architecture: projects/incident-assistant-rag/docs/architecture.png
PITER · HINDSIGHT · course-assistant-bot
Index: docs/screenshots/README.md · Hero captures: docs/screenshots/featured/
Ops-minded patterns backed by repo evidence — not demo-only AI:
| Signal | Where |
|---|---|
| CI gate — ruff + 4 pytest matrices | .github/workflows/ci.yml |
| Health / deep checks | Capstone /health endpoints |
| No-context refusal (deterministic) | Capstone + Bedrock iteration |
| RAG evaluation harness | Capstone eval 5/5 |
| Docker Compose reproducibility | Capstone, hw07 |
| Secrets hygiene | .env.example, MCP ${env:VAR} |
| Incident-domain corpus | Shared runbook samples across projects |
| EC2 / container ops lab | homework/hw05/nginx-docker-lab/ |
| Guardrails in n8n agent | Input guardrails + agent prompt — hw06 |
docs/ lectures/ homework/ exercises/ projects/ flagships/ resources/ scripts/
| Folder | Role |
|---|---|
lectures/ | Lessons 01–11 — demos colocated with notes |
homework/ | Assignments hw01–07 — evidence colocated |
projects/ | In-repo capstone + Bedrock iteration |
flagships/ | Pointers → external production repos |
docs/ | Syllabus, setup, architecture, agent tooling |
Full map: docs/STRUCTURE.md · Clean local clutter: .\scripts\clean-workspace.ps1
git clone https://github.com/reem-mor/ai-engineering-portfolio.git
cd ai-engineering-portfolio
python -m venv .venv && source .venv/bin/activate # Windows: .\.venv\Scripts\Activate.ps1
pip install -r requirements-dev.txt
Capstone (Docker):
cd projects/incident-assistant-rag && docker compose up --build
# → http://localhost:8080
CI parity:
cd projects/incident-assistant-rag/backend && pip install -r requirements.txt && pytest -q
cd projects/incident-rag-bedrock && pip install -r requirements.txt && pytest -q
cd lectures/10_langchain_langgraph && pip install -r requirements.txt && pytest -q
cd homework/hw07 && pip install -r requirements.txt && pytest -q
ruff check .
Human setup: docs/setup.md · Agent bootstrap: scripts/setup-dev.ps1
| Doc | Contents |
|---|---|
docs/README.md | Documentation hub |
docs/SYLLABUS.md | Full curriculum map |
docs/STRUCTURE.md | Repository layout |
flagships/README.md | External repo pointers + pin order |
docs/AGENT-TOOLING.md | MCP, skills, CI matrix |
docs/setup.md | Clone, venv, per-project deps |
docs/portfolio/GITHUB_PROFILE_PLAYBOOK.md | Profile README + GitHub pins |
AGENTS.md | Cross-tool agent guidance |
MIT for original code — LICENSE. Course slides/handouts: resources/MANIFEST.md only (instructor IP — not redistributed).