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
IntermediateRAG 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
- PDF upload and text extraction
- Chunking with overlap
- Embeddings into a FAISS index
- Top-k retrieval
- 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
IntermediateText-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
- Read the database schema
- Prompt with schema and question
- Validate the SQL (read-only)
- Run on a read-only connection
- 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
IntermediateCustomer 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
- Chat widget
- Retrieve help articles
- Grounded answer or fallback
- Store conversation and feedback
- 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
BeginnerAI 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
- Upload resume and job description
- Extract PDF text
- Analysis prompt
- Validate JSON with Pydantic
- 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
IntermediateFastAPI 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
- Typed request model
- Endpoint with streaming response
- LLM client with retries
- Mocked tests
- 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
BeginnerStreamlit 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
- Load and clean data
- Aggregate with Pandas
- Interactive filters
- Charts
- 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
IntermediateText 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
- Labelled dataset
- Train/validation/test split
- TF-IDF baseline
- Transformer model
- 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
AdvancedFine-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
- Collect and clean examples
- Format training data
- LoRA fine-tuning
- Evaluate against the base model
- 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
AdvancedLangGraph 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
- Chat endpoint
- Agent graph (plan and act)
- Typed tools and API clients
- Memory checkpoints
- 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
IntermediateMCP 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
- Tool definitions with typed inputs
- MCP server
- Client connection
- 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
IntermediateAI 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
- Pick role and level
- Question generator
- Answer evaluation with a rubric
- 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?
No projects match these filters.
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.