Open-source project
NabidAlam/road-to-machine-learning avatar
NabidAlam/road-to-machine-learning

road-to-machine-learning is a numbered curriculum, not a course

A comprehensive, step-by-step guide to learning Machine Learning from absolute basics to advanced topics

1,286 stars407 forksPythonMIT

At a glance

What is it?
The Road to ML repository is 26 numbered modules, 23 projects and a set of career path tables that tell a learner which modules a data analyst reads and which ones an ML engineer reads. It is MIT licensed and maintainer curated, which means the pull request button is disabled on purpose and updates ship through a separate Study Hub site.
Who is it for?
road-to-machine-learning is worth adopting if you are self teaching machine learning and the thing you lack is a sequence, because the module numbering, the career path tables and the project tiers turn a huge topic into a route you can follow, and the side tracks fill the gaps a pure ML curriculum leaves.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 2 days ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

Twenty six folders, numbered from zero

The repository's structure is the argument it makes. The top level listing shows 26 numbered directories, starting at 00-prerequisites and running to 25-generative-ai-llms, with the project tiers at 16, 17 and 18 in the middle of the sequence.

The order is a curriculum order. 00-prerequisites is what you need before starting. 01-python-for-data-science is Python for the work. 02-introduction-to-ml is the framing. 03-supervised-learning-regression and 04-supervised-learning-classification are the two classical halves. 05-model-evaluation-optimization and 06-ensemble-methods are what makes a model good rather than merely fitted. 07-feature-engineering and 08-unsupervised-learning sit next to them. 09-neural-networks-basics and 10-deep-learning-frameworks are the shift to deep learning, with 11-computer-vision and 12-natural-language-processing as the two application areas. 13-model-deployment and 14-mlops-basics are the part most courses skip. 15-time-series-analysis is its own topic. 16, 17 and 18 are the beginner, intermediate and advanced project tiers. And 19 to 25 are the specialised topics, SQL database fundamentals, handling imbalanced data, model explainability, reinforcement learning, graph neural networks, audio and speech processing, and generative AI with LLMs.

The README summarises the shape as a structured path for beginners, 26 learning modules, 23 real world projects, and deployment and MLOps topics, and describes it as a comprehensive step by step guide to learning machine learning from absolute basics to advanced topics.

That layout is the reason to use it. The directories are not a pile of notebooks, they are a sequence with a defensible order, and the order is the thing a self taught learner most often gets wrong.

The career path tables turn the curriculum into a route

The most useful document in the repository is the career path table, because it maps the same 26 modules onto twelve different jobs.

Each row names a role, its focus, an estimated time, the key modules to read, and a link into the guide. Data Analyst focuses on insights and reports, takes 12 to 18 months, and points at modules 00, 01, 19, 20 and 21. Data Scientist focuses on predictive models, 18 to 28 months, modules 00 to 08 plus 15 and 19 to 21. ML Engineer focuses on production ML, 24 to 36 months, and adds 13 and 14. MLOps Engineer reads 00, 01, 05, 09, 10, 12, 25, 13, 14 and 19. Data Engineer is 18 to 28 months across 00, 01, 13, 14, 19 and 20. Computer Vision Engineer is 22 to 34 months. And the two longest are the AI Engineer at 36 to 54 months and the Research Scientist at 36 to 54 months, the latter focused on novel methods, careful experiments and clear write ups.

There is also a Full-Stack AI Engineer path at 18 to 30 months, marked as running parallel ML plus a blueprint, with its own in-repo lessons and a roadmap with phases A to H starting from TypeScript foundations. And a BI Analyst path at 14 to 22 months.

Two things are worth noticing about those numbers. The shortest path is still over a year, which is a deliberate answer to the question of how long this takes, and the differences between paths are large, since the BI Analyst reads five modules and the AI Engineer reads most of them.

The readme also offers a way in for people coming from another field, through domain tracks for physics, life sciences, chemistry and materials, earth and environment, engineering, computer science and software, business analytics, and social and behavioral research. The idea is that a biologist does not start from the same place as a frontend developer, which is a more useful idea than it sounds.

The side tracks fill the gaps a pure ML course leaves

Two documents sit beside the 26 modules and are more useful for some readers than the modules themselves.

The first is System Design for Beginners, with 31 lessons split into 22 foundations and 9 interview style designs, covering HTTP, TCP, DNS, caching, load balancing, CAP, sharding and message queues, and ending with a capstone style design sequence: a rate limiter, a social feed, a chat, video, file storage, maps, a key value store, a message queue, and a real time ML feature store. The README says it is useful for the ML Engineer, MLOps, Data Engineer, AI Engineer and Full-Stack AI Engineer paths, and that it pairs with the ML System Design Guide, which applies the foundations to ML services specifically.

The second is the Backend Engineer Roadmap, and the README is explicit about when to reach for it: for application backend engineering covering auth, Postgres, queues and ops, use it alongside phases B, C and E of the Full-Stack Track.

That distinction matters more than it might appear. Most machine learning curricula stop at the model, and a candidate who cannot talk about an API, a database or a queue cannot pass an engineering interview no matter how well they know gradient descent. The system design track is the project answering that gap, and the backend roadmap is the project answering it for the engineering side of a machine learning job rather than the research side.

The top level of the repository also has the operational documents a learner needs: START-HERE.md, QUICK_START.md, GETTING_STARTED.md, HOW_TO_USE_THE_STUDY_HUB.md, FOUNDATION_AND_JOB_READINESS.md, LEARNING_ROADMAP.md, TIME_SERIES_LEARNING_PATH.md, WRITING-STYLE.md and DISCLAIMER.md. A repository that has a writing style guide and a disclaimer is one that expects its text to be read as carefully as its notebooks.

The requirements file is the toolchain, and it is very large

The requirements.txt at the root is the clearest statement of what a learner is expected to be able to do by the end, and it is worth reading before starting rather than after.

The core data science layer is numpy, pandas, matplotlib and seaborn. The machine learning layer is scikit-learn, xgboost and lightgbm. The deep learning layer is tensorflow and keras, plus torch and torchvision. Natural language processing is nltk, spacy and transformers. Computer vision is opencv-python and Pillow. Deployment is flask, fastapi, uvicorn and joblib. MLOps is mlflow and dvc. The utility layer is jupyter, notebook, ipykernel, tqdm and requests. And there is a validation layer with great-expectations, a visualisation layer with plotly, an interpretability layer with shap and lime, a recommender layer with surprise, a reinforcement learning layer with gym and stable-baselines3, and a time series layer with statsmodels, pmdarima and prophet.

Then the data sources and integration block: requests, sqlalchemy, pymongo, beautifulsoup4, selenium, openpyxl, pyarrow and lxml. And the exploratory analysis tools, missingno and pandas-profiling.

That is roughly forty libraries, and it tells you two things. First, the curriculum is not narrow: it goes from a beginner's dataframe to a Spark-adjacent data layer, a serving layer and an experiment tracking layer. Second, installing all of it up front is a bad idea, because tensorflow, torch, spacy and the transformers stack together are a large environment and a frequent source of dependency conflicts for beginners.

The practical approach is to install per module rather than the whole file at once, and to keep one environment per project tier. The requirements file tells you what the author used; it is not an instruction to run it on day one.

Mermaid diagrams, and why the Study Hub exists

The diagrams are the other thing that distinguishes this from a list of notebooks. The README says that system design topologies plus selected pipelines and decision trees, covering RAG, ML serving, ETL and quick reference pickers among others, use Mermaid, and that on the Study Hub they render as interactive SVGs, while folder trees stay as ASCII.

That is a deliberate division. A Mermaid diagram is a text file in the repository, so it diffs, it is reviewable, and it can be edited without a diagram tool. A binary diagram image cannot. And the choice of Mermaid means the diagram source is readable in a pull request or a terminal, which is the point of a curriculum meant to be read as text.

The Study Hub, at nabidinmotion.com, is where the rendered version lives. The README also has a page on how to use the Study Hub, and the project is maintained by NabidAlam, who publishes a YouTube playlist and a masterclass on advanced AI engineering and architecture.

So the shape of the project is a text first curriculum with a rendered front end, and the front end is where the updates ship. That is worth understanding before you plan around it, because a repository that does not accept pull requests and points elsewhere for updates is a different collaboration model from an ordinary open source project.

Maintainer curated means no pull requests, on purpose

One badge in the README header says PRs not accepted, and the reason is stated in the list of reasons to use the repository: it is a maintainer curated, open MIT curriculum, and at the moment the project does not accept any public contributions, with updates shipping via the Study Hub. There is a CONTRIBUTING.md for the details, and a disclaimer link.

The reason is not a rejection of outside help, because the project asks for sponsorship, and links a YouTube channel and a playlist from the header. It is a statement about who curates the content. A curriculum that dozens of people each add a chapter to becomes a directory of files rather than a sequence, and the numbering that makes the career path tables work stops being meaningful.

The sponsorship section is also unusually clear about what money does and does not buy. If the curriculum helps you, you can sponsor on GitHub, which is voluntary, and it does not unlock paid content or change the MIT licence. There is no paid tier behind the wall, which is worth knowing if you were expecting one.

So the practical guidance for a contributor is to use the repository, cite it, and take disagreements to the Study Hub rather than a pull request. And the practical guidance for a learner is that you are reading a curated artefact, which is a strength, and that you will not be able to fix a mistake in it by opening a pull request.

The disclaimers are prominent, and they are the honest part

The README is unusually careful about what the curriculum does and does not promise, and in a field where self taught learners are often sold a fantasy, that restraint is the most valuable part of the repository.

The production topics line says deployment, MLOps and real world failure modes, and then adds in brackets that this is not a guarantee that one pass makes you production ready. The built for line names students, career switchers and self learners, and then says outcomes depend on practice, projects and the job market, and that this repo does not guarantee a hire. The career path table's estimated times, which range from 12 to 54 months, are the same point made numerically.

That combination is honest in a way most curricula are not. A 26 module path with 23 projects is a serious amount of work, and the honest time estimates are a warning, not a sales pitch. If somebody reads the table and concludes they can be an MLOps engineer in six months by skimming, the table has not lied to them.

The repository is MIT licensed, the primary language is Python, and the last push was on 2026-10-07 with no GitHub releases, so the commit history is the version history.

There is one more piece of context for anyone weighing whether to adopt this. The materials are the subject matter of the discipline, so the value is in the ordering and the projects rather than in any single idea, and the order is the thing a learner cannot easily reconstruct alone. If you already know how to learn, the marginal value of a curated sequence is smaller than the value of the career path tables. If you do not, the sequence is the product, and it is the part that is hard to rebuild.

Editorial conclusion

road-to-machine-learning is worth adopting if you are self teaching machine learning and the thing you lack is a sequence, because the module numbering, the career path tables and the project tiers turn a huge topic into a route you can follow, and the side tracks fill the gaps a pure ML curriculum leaves. It is the wrong tool if you want a course with feedback, because the repository accepts no public contributions and there is no exercise review, and it is the wrong tool if you want the fastest route to a specific job, since the career paths are deliberately long. Before you start, read CONTRIBUTING.md, because pull requests are not accepted at the moment, and note that the repository was pushed to on 2026-10-07 with no GitHub releases, and that the README is explicit that the curriculum does not guarantee a hire.

Frequently asked questions

What is in the road-to-machine-learning repository?

It is a step by step machine learning curriculum with 26 numbered modules, from 00-prerequisites through 25-generative-ai-llms, plus three tiers of projects for beginners, intermediate and advanced learners. It also includes a system design side track, a backend engineering roadmap, domain tracks for people coming from other fields, and career path tables for twelve roles.

How long does the road-to-machine-learning curriculum take?

The career path table gives estimated times from 12 to 18 months for a data analyst, 18 to 28 for a data scientist, 24 to 36 for an ML engineer, 22 to 34 for a computer vision engineer, 14 to 22 for a BI analyst and 36 to 54 for an AI engineer or research scientist. The README adds that outcomes depend on practice, projects and the job market, and that the repo does not guarantee a hire.

Can I contribute to road-to-machine-learning?

Not at the moment. The project describes itself as maintainer curated, states that it does not accept any public contributions, and has a badge saying pull requests are not accepted. Updates ship through the Study Hub at nabidinmotion.com, and CONTRIBUTING.md holds the details.

What Python libraries does the road-to-machine-learning curriculum use?

The requirements file lists numpy, pandas, matplotlib, seaborn, scikit-learn, xgboost and lightgbm, then tensorflow, keras, torch and torchvision, nltk, spacy and transformers, opencv-python and Pillow, flask, fastapi, uvicorn and joblib, mlflow and dvc, jupyter, great-expectations, plotly, shap, lime, surprise, gym, stable-baselines3, statsmodels, pmdarima and prophet, and integration tools including sqlalchemy, pymongo, selenium and pyarrow.

Does road-to-machine-learning cover MLOps and deployment?

Yes. The module list includes 13-model-deployment and 14-mlops-basics, the feature list names deployment, MLOps and real world failure modes, and the requirements file pulls in mlflow, dvc, flask, fastapi and uvicorn. The system design side track adds a real time ML feature store design and an ML System Design Guide, and the README notes this is not a guarantee that one pass makes you production ready.

Official sources

  1. Issues
  2. License: MIT
  3. NabidAlam/road-to-machine-learning on GitHub
  4. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nabidalam-road-to-machine-learning.svg)](https://hysenlabs.com/projects/nabidalam-road-to-machine-learning)

Was this useful?