Skip to content

Career Projects

Projects that show practical engineering skills: each one lists what it demonstrates, how it's built, what you'll have at the end and what interviewers tend to ask about it. Filter by the role you're aiming for, the difficulty or a technology.

What these projects can and can't do

A well-built project gives you something concrete to show and to talk about in interviews. It doesn't guarantee an interview, a job or a placement: that depends on the role, the market and you.

Aspiring GenAI Engineers · AI Application Developers

Intermediate

RAG chatbot with citations

A chatbot that answers questions from your own PDFs and cites the page behind each answer. It covers the full retrieval-augmented generation pipeline, from document processing to grounded answers.

  • Python
  • FastAPI
  • FAISS
  • Sentence Transformers
  • Groq

Skills covered

  • Document processing and chunking
  • Embeddings and vector search
  • Grounded prompting
  • API design

Architecture

  1. PDF upload and text extraction
  2. Chunking with overlap
  3. Embeddings into a FAISS index
  4. Top-k retrieval
  5. LLM answer with citations

Expected outcome: A working app that answers from your documents with page citations, plus a short evaluation of answer quality. Build time: 1–2 weekends

Interview discussion topics
  • How do you choose chunk size and overlap?
  • What happens when the answer isn't in the documents?
  • How would you measure retrieval quality?
  • BM25 vs embeddings, and when to combine them

Aspiring GenAI Engineers · Python Developers

Intermediate

Text-to-SQL analyst

Turn plain-English questions into SQL for a real database, explain each query and show the results as tables and charts, with safety checks so nothing can change data.

  • Python
  • SQL
  • Pandas
  • Streamlit
  • Groq

Skills covered

  • Schema-aware prompting
  • SQL validation
  • Data visualisation
  • Guardrails

Architecture

  1. Read the database schema
  2. Prompt with schema and question
  3. Validate the SQL (read-only)
  4. Run on a read-only connection
  5. Table and chart

Expected outcome: An analyst app over a sample database that refuses unsafe queries and explains every result. Build time: 1–2 weekends

Interview discussion topics
  • How do you stop an LLM from running destructive SQL?
  • How do you handle large schemas that don't fit in the prompt?
  • How would you test that the generated SQL is correct?

Aspiring GenAI Engineers · AI Application Developers

Intermediate

Customer support assistant

A support chatbot grounded in a knowledge base, with conversation history, feedback on answers and an admin view of the questions it couldn't answer.

  • Python
  • FastAPI
  • FAISS
  • SQLite
  • Groq

Skills covered

  • RAG over a knowledge base
  • Conversation state
  • Feedback loops
  • Admin tooling

Architecture

  1. Chat widget
  2. Retrieve help articles
  3. Grounded answer or fallback
  4. Store conversation and feedback
  5. Admin dashboard

Expected outcome: A support assistant with a dashboard showing feedback and unanswered questions. Build time: 2–3 weekends

Interview discussion topics
  • How do you keep answers within company policy?
  • How do you use feedback to improve the system?
  • When should the bot hand over to a human?

Python Developers · Aspiring GenAI Engineers

Beginner

AI resume analyzer

Compare a PDF resume with a job description, score the match, list missing skills and generate interview questions, returning validated structured output.

  • Python
  • FastAPI
  • Pydantic
  • PyMuPDF
  • Groq

Skills covered

  • PDF parsing
  • Structured LLM output
  • Input validation
  • REST APIs

Architecture

  1. Upload resume and job description
  2. Extract PDF text
  3. Analysis prompt
  4. Validate JSON with Pydantic
  5. Show score and gaps

Expected outcome: An API and simple page that analyse a resume against a job description. Build time: 1 weekend

Interview discussion topics
  • How do you make LLM output reliably parseable?
  • What do you do when validation fails?
  • How would you keep personal data safe?

Python Developers

Intermediate

FastAPI LLM service with streaming and tests

A small production-style API that wraps an LLM: typed requests and responses, streaming replies, error handling for provider failures, and a pytest suite that doesn't call the real API.

  • Python
  • FastAPI
  • Pydantic
  • pytest
  • Docker

Skills covered

  • API design
  • Async and streaming
  • Error handling
  • Testing with mocks
  • Containerisation

Architecture

  1. Typed request model
  2. Endpoint with streaming response
  3. LLM client with retries
  4. Mocked tests
  5. Dockerfile

Expected outcome: A tested, containerised API you can deploy and call from any front end. Build time: 1 weekend

Interview discussion topics
  • How does streaming work over HTTP?
  • How do you test code that calls an LLM?
  • How do you handle rate limits and timeouts?

Python Developers

Beginner

Streamlit data dashboard

An interactive dashboard over a public dataset: cleaning with Pandas, filters, charts and a short written analysis of what the data shows.

  • Python
  • Pandas
  • Streamlit

Skills covered

  • Data cleaning
  • Aggregation
  • Visualisation
  • Communicating results

Architecture

  1. Load and clean data
  2. Aggregate with Pandas
  3. Interactive filters
  4. Charts
  5. Written findings

Expected outcome: A deployed dashboard and a README explaining the findings. Build time: 1 weekend

Interview discussion topics
  • How did you handle missing or messy data?
  • How do you keep the app fast on larger data?
  • What did the data actually show?

Machine Learning Engineers

Intermediate

Text classifier with transformers

Classify support tickets or reviews into categories with a pretrained transformer, compare it with a simple baseline and report precision, recall and the confusion matrix.

  • Python
  • Hugging Face Transformers
  • scikit-learn
  • Pandas

Skills covered

  • Data labelling and splits
  • Baselines
  • Model evaluation
  • Error analysis

Architecture

  1. Labelled dataset
  2. Train/validation/test split
  3. TF-IDF baseline
  4. Transformer model
  5. Evaluation report

Expected outcome: A classifier with an honest evaluation that shows where it fails and why. Build time: 1–2 weekends

Interview discussion topics
  • Why start with a baseline?
  • Which metric matters when classes are imbalanced?
  • What did the errors have in common?

Machine Learning Engineers · Aspiring GenAI Engineers

Advanced

Fine-tune a small model and evaluate it

Fine-tune a small open model with LoRA on a narrow task, compare it with prompting the base model, and decide whether fine-tuning was worth it.

  • Python
  • Hugging Face Transformers
  • LoRA
  • PyTorch

Skills covered

  • Preparing training data
  • Parameter-efficient fine-tuning
  • Evaluation design
  • Cost and trade-off analysis

Architecture

  1. Collect and clean examples
  2. Format training data
  3. LoRA fine-tuning
  4. Evaluate against the base model
  5. Write up the trade-offs

Expected outcome: A fine-tuned model, an evaluation table and a clear recommendation. Build time: 2–3 weekends

Interview discussion topics
  • When is fine-tuning better than prompting or RAG?
  • How did you prevent overfitting?
  • How did you measure improvement?

AI Application Developers · Aspiring GenAI Engineers

Advanced

LangGraph agent with tools and memory

An agent that plans multi-step tasks, calls tools and APIs, remembers the conversation and asks before taking actions, with limits so it can't loop forever.

  • Python
  • LangGraph
  • FastAPI
  • SQLite
  • Groq

Skills covered

  • Agent design
  • Tool calling
  • State and memory
  • Safety and human approval

Architecture

  1. Chat endpoint
  2. Agent graph (plan and act)
  3. Typed tools and API clients
  4. Memory checkpoints
  5. Step limit and confirmations

Expected outcome: A working agent that completes multi-step tasks and recovers from tool errors. Build time: 2–3 weekends

Interview discussion topics
  • How do you stop an agent from looping?
  • How do you test an agent?
  • Which actions need human approval, and why?

AI Application Developers

Intermediate

MCP server for your own tools

Expose your own tools and data to AI assistants with a Model Context Protocol (MCP) server, then use it from an MCP client.

  • Python
  • MCP
  • FastAPI

Skills covered

  • Protocol design
  • Tool definitions
  • Authentication
  • Security of tool access

Architecture

  1. Tool definitions with typed inputs
  2. MCP server
  3. Client connection
  4. Access control

Expected outcome: An MCP server that an AI assistant can use to call your tools. Build time: 1 weekend

Interview discussion topics
  • What problem does MCP solve?
  • How do you limit what a tool can do?
  • How would you run it as a remote server?

AI Application Developers · Aspiring GenAI Engineers

Intermediate

AI mock interviewer

An interview practice app that asks role-specific questions, follows up on answers and scores them against a rubric, with a summary at the end.

  • Python
  • FastAPI
  • Groq
  • JavaScript

Skills covered

  • Conversation design
  • Rubric-based evaluation
  • Session state
  • Front-end integration

Architecture

  1. Pick role and level
  2. Question generator
  3. Answer evaluation with a rubric
  4. Session summary

Expected outcome: A practice app that runs a full mock interview and gives structured feedback. Build time: 2 weekends

Interview discussion topics
  • How do you make LLM scoring consistent?
  • How do you keep questions relevant to the role?
  • How would you evaluate the evaluator?

How to make a project count

  • Finish one project well rather than starting five: a working demo, a clear README and tests.
  • Write down your decisions: why this chunk size, this model, this database. Interviewers ask "why", not "what".
  • Measure something: answer accuracy, latency or cost. Numbers make a project credible.
  • Explain it in two minutes: problem, architecture, one hard part, what you'd do next.