AutomateEdge · AI Engineer · Portfolio Projects

AI Engineer Portfolio Projects: 15 Shippable Ideas

These projects are ordered by dependency: each earlier one teaches a skill the later ones assume. Every project is AI-Engineer-specific — no model-training projects appear here (those belong on the ML Engineer track). The focus throughout is on shipped, evaluated, production-ready AI features: retrieval systems, agentic workflows, structured-output pipelines, and observable LLM applications. Ship them to the public internet. A recruiter who can click your live URL and see streaming LLM output will form an impression in under 30 seconds — make sure it is the right one.

1. Multi-provider LLM comparison harness

Difficulty · Beginner 10-15 hours OpenAI SDKAnthropic SDKGoogle Generative AI SDKasyncio / httpxSQLiterich (terminal formatting)

Build a CLI tool that sends the same prompt to OpenAI, Anthropic, and Gemini simultaneously, displays all three responses side by side, and logs token count, latency, and cost-per-call to a SQLite database. Add a `--best-of` flag that uses an LLM judge to score the responses and pick a winner. This is your first eval fixture and your first cost-tracking surface — skills you will use every day as an AI Engineer.

Evaluation rubric (what recruiters check on your GitHub)

2. Streaming LLM chat backend with observability

Difficulty · Beginner 15-25 hours FastAPIOpenAI SDK (streaming)SQLAlchemySSE / StreamingResponseDockernginx

Build a FastAPI backend that streams an LLM response token-by-token to the browser via Server-Sent Events. Persist every conversation turn (user message, assistant response, model, token counts, latency) to SQLite. Add a PII-redaction filter that strips email addresses and phone numbers from logs before writing them. Deploy to a VPS with nginx. This is the foundation of every chat-based AI product.

Evaluation rubric (what recruiters check on your GitHub)

3. RAG system over a personal document corpus

Difficulty · Intermediate 40-55 hours FastAPIpgvectorsentence-transformersOpenAI or Anthropic APIRagasGradio or React frontend

Build a retrieval-augmented Q&A system over 50+ documents you actually care about — your company's internal docs, a technical book, a public-domain text corpus. Use pgvector for storage, sentence-transformers for embedding, and a hybrid search (BM25 + dense) strategy. Add a 30-question hand-labelled eval set and score the system using Ragas faithfulness and context_recall metrics. This is the portfolio centrepiece for most AI Engineer job applications.

Evaluation rubric (what recruiters check on your GitHub)

4. Prompt regression testing pipeline with CI

Difficulty · Intermediate 20-30 hours PromptfooGitHub ActionsOpenAI APINode.js (Promptfoo runtime)Python for score-trend chart

Set up a Promptfoo test suite for an existing LLM feature. Define 40+ test cases covering happy paths, edge cases, and adversarial inputs. Wire it into GitHub Actions so every pull request that touches a prompt file runs the full eval suite and blocks merge if any case regresses more than 10%. Add a score-trend dashboard (a simple HTML file generated from the Promptfoo JSON output). This project is rare in portfolios and universally impressive to AI Engineering interviewers.

Evaluation rubric (what recruiters check on your GitHub)

5. Structured-output extraction pipeline

Difficulty · Intermediate 25-35 hours InstructorPydantic v2OpenAI or Anthropic SDKasyncio for batch concurrencypandas for accuracy analysisSQLite

Build a pipeline that extracts structured data from unstructured text at scale — job descriptions into normalised fields, research papers into citation graphs, customer support tickets into categorised summaries. Use Instructor + Pydantic for validation; add retry logic for parse failures. Process 1,000 real documents; log accuracy by field. This project demonstrates the skill most enterprise AI work actually requires: turning messy text into reliable structured data.

Evaluation rubric (what recruiters check on your GitHub)

6. Function-calling agent for a narrow domain task

Difficulty · Intermediate 35-50 hours OpenAI or Anthropic function-calling APIFastAPI or CLIa domain-specific API (GitHub / Google Calendar / Postgres)SQLite for tool-call log

Build an agent that does one task reliably: GitHub PR summariser, calendar booking assistant, database query agent for a specific schema, or shell-command assistant with safety gates. Expose 3-5 tools via the provider's function-calling API. Log every tool call. Add a dry-run mode for any destructive action. Resist feature creep — a narrow agent that works 95% of the time is a better portfolio piece than a broad one that works 60% of the time.

Evaluation rubric (what recruiters check on your GitHub)

7. Semantic search engine for a niche corpus

Difficulty · Intermediate 30-40 hours Weaviate or pgvectorsentence-transformersFastAPIBM25 via rank_bm25 libraryReact or Svelte for the search UI

Build a full semantic search engine over a corpus you choose: papers from a specific arXiv category, Stack Overflow posts for a niche technology, lyrics from a genre. Support both semantic (embedding) and keyword (BM25) search with a ranking blend. Add a web UI with faceted filtering (date, category, score range). Measure and compare retrieval quality via NDCG@10 against a keyword-search baseline. This demonstrates retrieval engineering depth beyond basic RAG.

Evaluation rubric (what recruiters check on your GitHub)

8. LLM-as-judge evaluation framework

Difficulty · Intermediate 25-35 hours OpenAI or Anthropic APIPydantic for rubric definitionSQLite for result storagepandas + matplotlib for analysispytest for unit tests

Build a reusable LLM-as-judge framework that scores generated text against rubrics you define. Support at minimum: binary pass/fail, 1-5 scale rating, and pairwise preference comparison. Implement bias mitigations (position randomisation for pairwise, temperature=0 for consistency). Validate your judge against 100 human-scored examples and report judge-human agreement rates (Cohen's kappa). This framework will underpin every future eval work — it is worth building well.

Evaluation rubric (what recruiters check on your GitHub)

9. Production RAG system with cost and quality dashboards

Difficulty · Advanced 50-70 hours FastAPILangfuse (self-hosted) or LangSmithRagaspgvectorRedis (semantic cache)Chart.js or Plotly for dashboard

Extend the basic RAG project with a full production observability layer: per-query cost and latency tracking, retrieval quality trending over time, daily Ragas metric snapshots logged to a time-series table, and an admin dashboard that surfaces cost burn rate, p95 latency, and quality trend charts. Add semantic caching and measure its impact on cost. This project demonstrates what it takes to operate an AI feature in production — not just build one.

Evaluation rubric (what recruiters check on your GitHub)

10. Multi-modal application (vision + text)

Difficulty · Advanced 35-50 hours OpenAI GPT-4o vision API or Gemini 2.0 ProInstructor + Pydantic for structured vision outputPillow for image processingFastAPISQLite

Build an application that combines vision and text modalities using GPT-4o vision or Gemini 2.0 Pro: a receipt data extractor, a diagram Q&A tool, a photo-to-structured-data pipeline, or a visual code-review assistant. Pay close attention to image pre-processing (resolution, format, token cost) and eval design (vision outputs are harder to auto-evaluate than text).

Evaluation rubric (what recruiters check on your GitHub)

11. Agentic research assistant with tool composition

Difficulty · Advanced 50-70 hours Anthropic or OpenAI extended tool-useSerpAPI or Brave Search API (free tier)FastAPIDocker (for code execution sandbox)pgvector (for document retrieval)

Build a research assistant that can answer complex questions by composing multiple tools: web search (via a search API), code execution (via a sandboxed subprocess), document retrieval (via your RAG system), and calculator tools. The key challenge is reliability: the agent must complete tasks across 5-10 tool calls without derailing. Implement a maximum-step budget and a quality-check step that reviews the answer before returning it.

Evaluation rubric (what recruiters check on your GitHub)

12. Prompt version management system

Difficulty · Intermediate 20-30 hours FastAPISQLite + SQLAlchemyPydanticsimple HTML/JS admin UI

Build a lightweight prompt management system: store prompts in a database with version history, support A/B deployment (route X% of traffic to version A, Y% to version B), and track eval score per prompt version over time. This does not need to be a full SaaS — a FastAPI backend + simple admin UI + SQLite is the right scope. The goal is to demonstrate you understand prompts as production artifacts, not throwaway strings.

Evaluation rubric (what recruiters check on your GitHub)

13. Real-time collaborative AI writing tool

Difficulty · Advanced 45-60 hours FastAPI + WebSocketsOpenAI streaming APIvanilla JS or React for the editorRedis for session stateDocker

Build a browser-based writing editor where an AI copilot provides inline suggestions, paragraph completions, and style critiques in real time. Use WebSockets for bidirectional communication, streaming completions for low-latency suggestions, and a debounce strategy to avoid hammering the API on every keystroke. This project stresses all the real-time engineering skills that distinguish AI product engineers from API wrappers.

Evaluation rubric (what recruiters check on your GitHub)

14. Safety and guardrails layer for an LLM application

Difficulty · Intermediate 20-30 hours OpenAI Moderation APILlama Guard (via Ollama) for local classificationPydantic for output schema enforcementpytest for automated safety testing

Build a reusable input/output safety middleware for an LLM application. Input layer: classify and block prompt injection attempts, detect and redact PII, enforce topic constraints for domain-specific applications. Output layer: detect refusals and off-topic responses, validate structured output, flag potentially harmful content with a confidence score. Measure false-positive rate against 200 benign test inputs — overly aggressive guardrails are a real production problem.

Evaluation rubric (what recruiters check on your GitHub)

15. Capstone: end-to-end AI-powered product feature

Difficulty · Advanced 70-100 hours all of the above — pick the right tool for each job

Build and deploy a complete AI-powered feature that a real user would pay for: a domain-specific Q&A assistant with RAG, a document analysis tool, an AI job-matching engine, or a personalised content recommender. The feature must combine at minimum: retrieval, structured output, streaming, evals, observability, and production deployment. Every component should be wired, measured, and documented. This is your graduation project — the piece you present in interviews and link from your resume.

Evaluation rubric (what recruiters check on your GitHub)

Frequently asked questions

Why no model-training projects on this list?

Training models from scratch is the ML Engineer's domain, not the AI Engineer's. AI Engineers focus on making existing models useful in production — retrieval, evals, agents, structured output, and observability. You should understand what fine-tuning is, but it does not belong in an AI Engineer portfolio as a primary project.

How important is it to deploy every project publicly?

Critical. An AI Engineer who cannot deploy is 50% of a hire. Hosting is not expensive: a VPS at $5-10/month handles three concurrent visitors to a demo app. A live URL that a recruiter can click converts 3x better than a GitHub repo they have to clone and run locally.

Which project should I lead with in job applications?

The RAG system with eval harness (project 3) is the single highest-signal project for most AI Engineer roles in 2026. It demonstrates: retrieval engineering, evaluation discipline, production deployment, and quality measurement. Lead with that; list the others.

How do I make projects non-generic?

Choose domains you actually know. An AI Engineer who built a RAG system over cardiovascular clinical trials and can explain why standard chunking breaks on tables of drug interactions is infinitely more interesting than someone who built a RAG system over generic PDFs. Domain knowledge multiplies technical signal.

Should I build with LangChain or raw SDKs?

For your portfolio, do both. Show one project built from raw SDK calls (demonstrates depth) and one using a higher-level framework (demonstrates pragmatism). Interviewers often ask 'could you rebuild this without LangChain?' — having done it once means you can answer confidently.

How detailed should READMEs be?

Long. AI Engineers are judged by their ability to communicate technical decisions — a README is your first written design document in an interview context. Include: what problem you solved, why you made each architectural choice, your eval methodology and scores, cost and latency figures, and what you would do differently next time.

What if my eval scores are mediocre?

Ship anyway and document honestly. An AI Engineer who can measure quality at 68% and explain exactly why it is not higher — and what the tradeoffs are between the three approaches they tried — is far more compelling than someone who claims 95% with no methodology. The discipline of measurement is the signal; the score itself is secondary.

Continue on the AI Engineer track