← Back to the portfolio RSS

· 3 min read

My roadmap to mastering AI

The path I'm going to follow, from NumPy to neural networks, with one article and one project per step.

I’m a backend and infrastructure developer. I know how to run systems in production; now I want to understand — and be able to build — the models that run inside them. This article is my roadmap: I’ll follow it step by step, and each step will get its own article in this journal, with the code and the project that validates it.

Order matters. Each tool builds on the previous one, and skipping a step costs you later, with models you run without understanding why they fail.

The principle: one project per step

Reading a course gives the illusion of understanding. Writing the code on a real dataset reveals what you didn’t understand. So each step ends with a validation project, and I only move on once I can do it without copying.

Step 0: the foundations

Before the libraries, three basics:

  • Solid Python: functions, list comprehensions, classes, virtual environments, Jupyter notebooks.
  • Linear algebra: vectors, matrices, matrix products. A model is, first and foremost, matrix multiplications.
  • Probability and statistics: mean, variance, distributions, correlation — and the idea that a sample is not the population.
  • Derivatives and gradients: understanding what “minimising an error” means.

My first step in that direction: the article on linear regression, the simplest model, where all these notions meet.

Step 1: NumPy, thinking in arrays

The whole ecosystem is built on it. Goal: replace loops with vectorised operations, master shapes, axes and broadcasting.

→ NumPy: thinking in arrays

Validation: normalise data, compute distances and reimplement gradient descent, without a single loop.

Step 2: pandas, preparing the data

The real bulk of the work. Goal: read, clean, transform, aggregate and visualise a real-world dataset.

→ pandas: from raw data to a clean table

Validation: a complete exploration notebook on the Titanic dataset, with justified cleaning choices.

Step 3: scikit-learn, classic machine learning

Goal: train, evaluate and compare models without fooling yourself: an untouchable test set, pipelines, cross-validation, appropriate metrics.

→ scikit-learn: the full lifecycle of a model

Validation: a complete pipeline on Titanic, three algorithms compared, a Kaggle submission.

Step 4: Keras, neural networks

Goal: understand what a network is, read learning curves, move on to convolutions for images, then reuse pre-trained models.

→ Keras: my first neural network

Validation: a classifier trained on my own photos, served behind an API in a container.

After that: the next steps

Once these four steps are validated, the rest will take shape, but the direction is clear:

  1. PyTorch: the tool of research and of most recent models. Keras 3 can even run on top of it, so the transition is smooth.
  2. Natural language processing: embeddings, transformers, and the Hugging Face ecosystem.
  3. Applied LLMs: using language models through APIs, RAG (answering from your own documents), evaluating answers. The assistant on this portfolio is a first application of it.
  4. MLOps: versioning data and models, serving a model, monitoring its drift in production. This is where my infra background becomes an asset: Docker, Kubernetes and CI/CD apply directly.

My pace

  • About four to six weeks per step, a few hours a week, without rushing: understanding comes before progress.
  • An article published at the end of each step, covering what was hard, not just what worked.
  • The project code on my GitHub.

If you’re following the same path, each step’s articles are linked above: they’re meant to be read in order.