The Researcher
Building and training models from scratch. Deep math, theory, and years of specialization.
Covered in a separate roadmap →For students ready to build. Nine stages, from your first Python script to deploying AI products people actually use. No textbook marathons, no jargon walls.
Before you set out
AI engineering is broader than it looks. There are two paths, and here's the one you're on.
Building and training models from scratch. Deep math, theory, and years of specialization.
Covered in a separate roadmap →Shipping products with existing models: RAG, agents, LLM integrations, deployed APIs. Real things real users use.
Your goal: production-ready AI, job-ready.This takes time: about 3 to 4 months of consistent work.
Anyone promising you'll be job-ready in two weeks isn't being honest with you. The good news: the path is clear, the tools are mostly free, and demand is genuinely high right now, especially in the region.
The trail map
Python is the language of AI. Before anything else, you need to feel comfortable writing Python code. You don't need to be an expert, you need to be functional.
You already studied programming fundamentals in Year 1 through C++ and Java, so loops, conditions, functions and OOP won't feel foreign.
If you want to learn Python with AI in mind from day one, this is the better option. Four short courses take you from the basics all the way to working with data and calling APIs, which gives you a head start on Stage 1 too.
Good to know The videos and labs are completely free. You only pay if you want the graded assignments and a certificate: that's a $30/month DeepLearning.AI plan (7-day free trial), and it unlocks every course on the platform. For this roadmap, the free videos are enough.
Build an expense tracker. A small app you run from the terminal that keeps track of what you spend. You should be able to add an expense, change one, delete one, see them all, and get a total for the month.
If you want to take it further, the brief also suggests sorting expenses into categories, setting a monthly budget that warns you when you go over it, and saving everything to a spreadsheet file.
You build on this same project in Stage 1, so none of it is wasted.
Looking for other things to build? Project Based Learning has a long Python list.
Most students rush straight into AI and skip this stage. That's the mistake that keeps projects stuck on laptops and never in front of real users. AI lives inside software, so there are tools you must learn. They are rarely taught properly at university, but you will need them on every real project.
Git, GitHub and APIs are new ground, rarely taught at university, so start fresh. SQL is the exception: if you took DB1 and DB2 you already have the theory, so this is about practice, not relearning concepts.
Imagine you are working on a project and accidentally break everything. Git lets you go back to when it worked. GitHub is where you put your code online so others can see it, and so it doesn't die on your laptop.
The language you use to ask a database questions and get answers back. Almost every application stores its data in a database, so querying one is a baseline skill. Focus on writing real queries against real data, practice over theory.
You open a weather app and it shows today's forecast. That app didn't collect the weather itself, it asked another service through an API. That's all an API is, two programs talking to each other. Every AI model you build will need one so people can use it.
Good news: you already met APIs back in Stage 0. For now you only need the mental model, two programs talking by sending a request and getting a response. The hands-on work comes later: calling LLM APIs in Stage 3, then building your own in Stage 7.
These are not things you study from a course. They come naturally as you write more code and work on real projects. Keep them in the back of your mind:
Upgrade the expense tracker. Do not start from nothing: take the app you built in Stage 0 and give it the three things this stage taught you. The only new parts are the API call and the SQL.
GROUP BY instead of Python loops.Currency is only the example. You can build the same project around any API you would actually use: weather for your commute, football results, prayer times, movie ratings. The Public APIs directory lists hundreds of free ones sorted by subject.
Rather build something new instead? roadmap.sh has other briefs that use an API and a database.
Before writing a single line of AI code, understand what you are working with. This stage is purely conceptual, no coding yet. By the end you'll know how large language models work, what's happening under the hood, and what all those settings mean before you start using APIs.
None of this is covered in the LU curriculum. Start fresh.
Before you use a model, it helps to know roughly what it is and how it produces text. You are not here to become a researcher, so don't worry about understanding every detail or the math. A rough, working intuition is plenty, just enough that the rest of the roadmap makes sense, and you can always come back to this once you've built a few things.
Start here. Watch Large Language Models explained briefly first: it's under 5 minutes and gives you the mental model of what an LLM actually is. Then watch chapters 5, 6, and 7 of 3Blue1Brown's Neural Networks series in order, covering the Transformer, attention, and how models store facts. That's all you need on the architecture side.
Spend 10 minutes here. You type something, it tokenizes your text in real time and shows how the model picks the next word. It runs a real GPT-2 model in your browser; built at Georgia Tech, used by 330,000+ learners.
These are the knobs you'll meet the moment you start working with a model yourself. Knowing what each one does is what separates someone who copies settings from someone who controls them.
The single most useful read for the rest of the roadmap. It walks through every element above, in order, then shows how they come together when a model generates a response. Read it once, properly.
No project this time. This stage is conceptual on purpose, so the milestone is that the ideas stuck. You are ready to move on when you can explain each of these out loud, in your own words, without looking anything up:
This is where you write your first real AI code. You'll connect to a model through an API, send it instructions, and get useful responses back. By the end you'll have built something that actually uses AI, not just read about it.
None of this is covered in the LU curriculum. Start fresh.
Writing a good prompt is a skill, not magic. How you structure your instructions directly affects the quality of what you get back. It comes first because you can practice it right now with no code, just type into a chat box or playground.
A short, friendly walkthrough of the essentials, made for this stage so you don't have to wade through the bigger references yet. Prefer to learn by doing? DeepLearning.AI's free one-hour course (Andrew Ng and OpenAI's Isa Fulford) covers the same ground and has you build a chatbot.
Now that you can write a solid prompt, it's time to send one from code. You already met APIs in Stage 1; an LLM API works the same way, you send a request and get a response, but the request is shaped for language models. You send it messages and pass the sampling parameters from Stage 2, and it sends back generated text, which is how most AI products are built. Any model works the same way, so don't overthink the choice: Google's Gemini API has a generous free tier with no credit card.
Start with Patrick Loeber's video to get the basics clearly: getting a key, sending your first prompt, and chatting using the Python SDK. Gemini-centered, but other providers work the same way.
Want to experiment with parameters and settings? Google AI Studio lets you play with the system prompt, temperature, max tokens and more in a visual playground, then writes the exact Python for you with Get code.
These take prompting further, but they are API features: you use them through code, once you're already making calls. That's why they come after your first call.
Function calling is the bigger idea, so start with this short Google video that explains the concept and the information flow, then run the official Colab lab to build it yourself. Structured output is the simpler sibling: you just define a JSON schema. Both are provider-specific, so the Gemini docs are your reference for the exact syntax.
Both labs run on the free API key. Reference docs: function calling · structured output
Pydantic lets you describe the shape of your output as a typed Python class. You hand that class to the SDK as the response schema and get back a validated, typed object instead of raw JSON, with no manual parsing. The same classes also declare tools for function calling, so it is worth learning early.
Learn Pydantic: models (official docs) · crash course video (covers LLM structured output)
You won't learn real deployment until Stage 7, but you don't need it to let someone try what you built. A lightweight UI tool wraps your script in a simple web interface in a few lines, enough to demo a project or drop it in your portfolio.
Streamlit's own tutorial builds a basic LLM chat app step by step with a few Python functions (st.chat_message, st.chat_input). Gradio is an equally good alternative.
Build a Text-to-SQL app, then point it at your tracker. Follow the tutorial to build a Streamlit app where you ask a question in plain English, Gemini writes the SQL, and the app runs it and shows the answer. Then swap the demo database for your Stage 1 expense tracker, and you can finally just ask.
google-genai library from this stage’s API lesson instead of the one on screen. It works when you type a question and see the SQL the model wrote, plus real rows from the database. And keep the API key out of your code, the same habit from Stage 1.Rather build something else? This written step-by-step guide builds and deploys a Streamlit chat app with memory, and if you would rather work with OpenAI, the OpenAI API in Python brief comes with community solutions to compare against. Want more ideas with their code? The Streamlit LLM gallery is full of apps at exactly this level, each with its source.
You've made your first API call, but so far you've used one model. The ecosystem is much bigger. Here it is on one screen: four layers, and every tool you meet from here on sits on one of them. Picking the wrong model, for cost, capability, or licensing, is one of the most common mistakes junior AI engineers make.
None of this is covered in the LU curriculum. Start fresh.
Open a layer to see what lives there. Everything you meet from here on sits on one of them.
Not a step you do at the end. Every layer below needs watching: what the model answered, what the app spent, which tool call failed. Tracing is the difference between a demo and something you can actually run.
The top of the stack: anything built on everything below. Some you will use as a customer, and one of them is the thing you are learning to build.
A model on its own knows only what it was trained on, and can only produce text. This layer fixes both. Knowledge is what it gets to know; capabilities are what it gets to do, and both arrive the same way: as context in the prompt. A retrieved paragraph and a tool result are the same kind of thing to the model.
The bottom of the stack. A model is just weights in a file; something has to run it and expose it over an interface. Both sides below speak almost the same API, which is why swapping one for the other is a two-line change.
Run a model on your own machine, then plug your app into it. So far every model you have used lived on someone else’s servers. This time the model lives on your laptop: no API key, no internet, nothing leaves the machine. Then you connect the app you built in Stage 3 and see both sides of the ecosystem with your own eyes.
http://localhost:11434/v1 and the model name changes. Your Text-to-SQL app now runs free, with no key. Notice what got worse too: a small local model is slower and misses more, and that trade-off is what this stage is about.Want to go further? Open WebUI turns your Ollama into a private ChatGPT with a real interface, and this setup guide walks through it. Same engine underneath, models side by side.
LLMs only know what they were trained on. Ask about your company's internal documents or anything private and specific, and the model will make something up or say it doesn't know. RAG solves this. It gives the model access to your data at the moment it needs it, without retraining anything.
None of this is covered in the LU curriculum. Start fresh.
Work through these in order. Each one answers the question the last one leaves open, so by the end the whole pipeline fits together in your head before you build it.
RAG stands for Retrieval Augmented Generation. Instead of relying on the model's general knowledge, you retrieve relevant information from your own data and pass it to the model as context, so it answers from what you gave it. Every RAG system is three pieces working together: a data source, a retrieval system, and a language model.
A few things people build with it:
You just saw that RAG works by retrieving the pieces of your data that are relevant to a question. But there is a catch: computers don't understand words the way we do. To a machine, "car" and "automobile" are just two unrelated strings of letters, so how could it ever tell which pieces are relevant?
That is the problem embeddings solve. Text is turned into a list of numbers (a vector) that captures its meaning, so pieces of text that mean similar things land close together. That closeness is exactly what searching "by meaning" (semantic search) measures. The video below explains it with single words; in RAG the same trick is applied to whole sentences and document chunks.
So meaning lives in embeddings, and the text you embed is your own. But you can't embed an 80-page PDF in one shot. First you get the raw data in (PDFs, Word docs, web pages, databases, and it rarely comes clean), strip the noise, then split it into chunks: pieces small enough to embed and retrieve precisely. How you chunk decides what the model can and can't find later, so it matters more than it looks.
Read the Pinecone guide for the why and the main strategies, then open ChunkViz and watch how different chunk sizes cut the same text.
Now every chunk has an embedding. Where do thousands of these vectors go, and how do you search them in an instant? That is the job of a vector database. It stores all those embeddings and finds the closest ones to a query by meaning, not exact keywords. Popular options (Pinecone, Chroma, Weaviate, FAISS) trade off cost, hosting, and ease of use. You index your chunks once, then run a similarity search on every question to pull the most relevant ones.
You now have the three pieces from step 1: your data (prepared and chunked), a retrieval system (embeddings in a vector database), and the model. The pipeline is the loop that ties them together on every question, and its name spells out the three steps:
Because the answer is built from real documents, tell the model to use only the provided context, so every answer traces back to a source.
One thing to watch: retrieval quality is the biggest lever. If the wrong chunks come back, the answer is wrong no matter how capable the model is, which is why the re-ranking and query techniques in the playlist matter. The playlist builds all of this in LangChain, the most widely used framework (LlamaIndex is the main alternative, strong for document-heavy apps).
You have a working pipeline. But how do you know it is actually any good? A RAG system can fail in two places, so you check two layers. Retrieval: did the right chunks come back for the question? Answer faithfulness: is the response actually grounded in those chunks, or did the model add things? (A fluent, confident answer can still be wrong.)
Keep a small test set of questions paired with the passage that should answer them, and use an LLM-as-judge to score faithfulness and relevance across many questions at once, so you can tell whether a change helped or hurt.
Build a chatbot that answers from your own PDFs. This is the whole stage in one project: load a document, chunk it, embed the chunks, store them in a vector database, and answer questions grounded in what came back. Follow the video, or the written guide if you learn better by reading; both build the same thing on the free Gemini key.
Rather build a different idea? Alejandro AO builds a bot that chats with any website from its URL (code), the same pipeline pointed at web pages. And when you want more to build, the AI Engineering Hub keeps 22 beginner projects with full code, RAG included.
An agent takes everything you've learned and adds something new: the ability to make decisions, take actions, and handle multi-step tasks on its own. This is where AI stops being a question-answer machine and starts being something that actually does work for you.
None of this is covered in the LU curriculum. Start fresh.
Eight parts, in order, each building on the last. The single best way through all of them is Andrew Ng's course below; every part also links a short free resource of its own.
The whole stage is essentially one course: Agentic AI by Andrew Ng (DeepLearning.AI). It covers the agent loop, the four patterns, tool use, evals, and multi-agent systems, hands-on in Python, roughly 80% of everything below.
The video lessons are completely free. You only pay if you want the graded labs, assignments, and a certificate: that's a $30/month DeepLearning.AI plan (7-day free trial), and it unlocks every course on the platform. Would rather not take the course? Every step below links its own short free resource too.
An agent is not a prompt, it is an architecture. A well-designed agent decides what to do next, uses tools to get information or take actions, checks its own work, and keeps going until the task is done. A prompt tells the AI what to do once; an agent figures out how to do it across multiple steps.
So an agent works across multiple steps, but how does it decide each one? Underneath every agent is a simple cycle that repeats until the task is done. This loop is the key mental model for everything else in this stage.
That loop needs machinery to run. Every agent is built from four parts:
Our interactive walkthrough of all six parts, including memory, the piece the course skips.
With those parts in place, a few designs for how agents think and act keep recurring. You'll see these four everywhere.
Then a short letter on each pattern: Reflection · Tool use · Planning · Multi-agent.
Once your agent runs, how do you know it works? This is the hardest thing to evaluate, because you're judging a whole sequence of decisions, not a single answer.
Before you commit to all this, a check: not every problem needs an agent. If a task is a fixed, predictable sequence, a simple workflow is cheaper, faster, and more reliable. Reach for an agent only when the steps can't be known in advance. Knowing when not to build one is part of the skill.
You won't wire the loop by hand forever. Frameworks handle the plumbing so you can focus on the logic.
Always start with the official documentation. The people who built the tool are the best teachers.
Two projects: learn the loop, then ship a real agent. First a guided build to feel how an agent thinks, then a project of your own that you will actually use every day.
Follow freeCodeCamp’s video and build a small coding assistant in pure Python. The model loops through reason, act, observe, calling tools that read, write and run files until the task is done: the agent loop from this stage, built by hand. No framework, and the free Gemini key you already have.
Want more agent projects with their code? The AI Engineering Hub’s intermediate section is where the agent projects live, 48 of them.
A model that lives on your laptop is not a product. This stage is about making everything you've built accessible to real users, what separates a demo from something that ships. From here on, every project should go live. And the evaluation habit doesn't stop at launch: watching real inputs and outputs is just evaluation done online.
None of this is covered in the LU curriculum. Start fresh.
Five steps that turn a script on your machine into something real users can reach: wrap it, package it, host it, secure it, and keep it affordable.
Before you deploy anything, wrap it in an API so other systems and users can interact with it. FastAPI is the most popular Python framework for this, and the one most AI engineers reach for first.
FastAPI is the go-to; Flask is a solid, simpler alternative if you prefer it. The official FastAPI docs are the clearest reference once you start building.
Your API runs on your laptop; now make it run anywhere. Docker packages your entire application, code, dependencies and configuration, into one container that behaves the same on every machine. No more "it works on my machine."
A container still needs somewhere to run around the clock; that somewhere is the cloud. There are two moves here: get your first project live fast on a beginner-friendly platform, and, separately, learn one big cloud deeply for your career. The concepts transfer, so you only ever need to go deep on one.
You are live; now keep it from quietly draining money. Every call to an LLM API costs money based on how many tokens you send and receive. Think about this from day one.
Deploy a real AI app, start to finish. Two guided paths to the same milestone: an app of the kind you have been building, live on the internet. Pick the path that fits your situation, then repeat the same moves on your own Stage 3 or Stage 5 app.
Ship a RAG app to AWS. pixegami takes a RAG app like your Stage 5 chatbot and walks it into production: wrap the logic with FastAPI, build the Docker image, and deploy it serverless on AWS. It is this stage’s three steps end to end, on the cloud you are most likely to meet at work.
One honest note: AWS asks for a credit card even on the free tier. If that is a blocker, the second tab ships without one.
Want a third road? Hugging Face Spaces runs Docker containers free, no card, on the platform you met in Stage 4. And your Stage 6 Telegram agent deserves a home too: host it the same way, switched to webhook mode, and it answers while your laptop sleeps.
Building AI systems that work is one thing. Building systems that are safe, fair, and trustworthy is another. A model that passes every test can still fail in the wild, so safety here is an engineering problem, not just an ethics conversation. This stage is not optional: every system you ship will face these challenges.
None of this is covered in the LU curriculum. Start fresh.
The moment your app handles real user data you take on serious security and privacy duties, and LLMs add a whole new class of attacks on top of the usual ones. The OWASP Top 10 for LLMs is the standard map of what can go wrong.
The number one risk on that OWASP list, and the one you will meet first. A user crafts input designed to override your system prompt and make the model misbehave, directly, or indirectly through content it reads (a web page, a document, an email).
The practical defense: programmable checks that sit around the model and enforce what it can and cannot do.
No project, the milestone is awareness. Every system you ship from here should have safety built in from the start: be transparent that it is AI, design it to fail gracefully rather than confidently wrong, and know when not to use AI at all.