Learn Python Series (#57) - Why I'm Building an AI Series (And Why You Should Follow Along)
Learn Python Series (#57) - Why I'm Building an AI Series (And Why You Should Follow Along)

Repository
What will I learn
- You will learn why the Learn Python Series is evolving into something bigger;
- what "Build Your Own AI" actually means and what it doesn't;
- the philosophy behind teaching AI from scratch instead of from sklearn.fit();
- how 56 episodes of Python fundamentals directly feed into understanding ML/AI;
- the full roadmap from first principles through transformers, LLMs, and production AI;
- what tools and prerequisites you need before episode one drops.
Requirements
- A working modern computer running macOS, Windows or Ubuntu;
- An installed Python 3(.11+) distribution;
- Familiarity with the Learn Python Series (especially recent episodes on NumPy and Pandas);
- The ambition to learn Python programming.
Difficulty
- Intermediate
Curriculum (of the Learn Python Series):
- Learn Python Series - Intro
- Learn Python Series (#2) - Handling Strings Part 1
- Learn Python Series (#3) - Handling Strings Part 2
- Learn Python Series (#4) - Round-Up #1
- Learn Python Series (#5) - Handling Lists Part 1
- Learn Python Series (#6) - Handling Lists Part 2
- Learn Python Series (#7) - Handling Dictionaries
- Learn Python Series (#8) - Handling Tuples
- Learn Python Series (#9) - Using Import
- Learn Python Series (#10) - Matplotlib Part 1
- Learn Python Series (#11) - NumPy Part 1
- Learn Python Series (#12) - Handling Files
- Learn Python Series (#13) - Mini Project - Developing a Web Crawler Part 1
- Learn Python Series (#14) - Mini Project - Developing a Web Crawler Part 2
- Learn Python Series (#15) - Handling JSON
- Learn Python Series (#16) - Mini Project - Developing a Web Crawler Part 3
- Learn Python Series (#17) - Roundup #2 - Combining and analyzing any-to-any multi-currency historical data
- Learn Python Series (#18) - PyMongo Part 1
- Learn Python Series (#19) - PyMongo Part 2
- Learn Python Series (#20) - PyMongo Part 3
- Learn Python Series (#21) - Handling Dates and Time Part 1
- Learn Python Series (#22) - Handling Dates and Time Part 2
- Learn Python Series (#23) - Handling Regular Expressions Part 1
- Learn Python Series (#24) - Handling Regular Expressions Part 2
- Learn Python Series (#25) - Handling Regular Expressions Part 3
- Learn Python Series (#26) - pipenv & Visual Studio Code
- Learn Python Series (#27) - Handling Strings Part 3 (F-Strings)
- Learn Python Series (#28) - Using Pickle and Shelve
- Learn Python Series (#29) - Handling CSV
- Learn Python Series (#30) - Data Science Part 1 - Pandas
- Learn Python Series (#31) - Data Science Part 2 - Pandas
- Learn Python Series (#32) - Data Science Part 3 - Pandas
- Learn Python Series (#33) - Data Science Part 4 - Pandas
- Learn Python Series (#34) - Working with APIs in 2026: What's Changed
- Learn Python Series (#35) - Working with APIs Part 2: Beyond GET Requests
- Learn Python Series (#36) - Type Hints and Modern Python
- Learn Python Series (#37) - Virtual Environments and Dependency Management
- Learn Python Series (#38) - Testing Your Code Part 1
- Learn Python Series (#39) - Testing Your Code Part 2
- Learn Python Series (#40) - Asynchronous Python Part 1
- Learn Python Series (#41) - Asynchronous Python Part 2
- Learn Python Series (#42) - Building CLI Applications
- Learn Python Series (#43) - Mini Project - Crypto Price Tracker
- Learn Python Series (#44) - Context Managers & Decorators Deep Dive
- Learn Python Series (#45) - Metaclasses & Class Design Patterns
- Learn Python Series (#46) - Descriptors & Properties
- Learn Python Series (#47) - Generators & Iterators Advanced
- Learn Python Series (#48) - Concurrency - Threading vs Multiprocessing
- Learn Python Series (#49) - FastAPI Basics - Modern Web APIs
- Learn Python Series (#50) - FastAPI Advanced - Validation & Dependencies
- Learn Python Series (#51) - Database Integration - SQLAlchemy
- Learn Python Series (#52) - Authentication & Security
- Learn Python Series (#53) - Deployment & Production Best Practices
- Learn Python Series (#54) - Pandas in 2026: What's Changed
- Learn Python Series (#55) - Advanced Data Wrangling with Pandas
- Learn Python Series (#56) - NumPy Beyond the Basics
- Learn Python Series (#57) - Why I'm Building an AI Series (And Why You Should Follow Along) (this post)
GitHub Account
Learn Python Series (#57) - Why I'm Building an AI Series (And Why You Should Follow Along)
This episode is different. No code. No exercises. I want to talk about where this series is going - and why.
If you've been following along, you've noticed a trajectory. Strings and lists → web crawlers and databases → a full FastAPI/SQLAlchemy/auth/deployment stack → and in the last three episodes, modern Pandas and deep NumPy. That trajectory wasn't random. It was building toward something.
The elephant in the room
Every time I explain broadcasting, vectorized operations, or memory layout, there's an unspoken question: what's the point of all this array manipulation?
The honest answer: most of what makes NumPy and Pandas powerful only fully reveals itself when you use them for machine learning. Broadcasting exists because neural networks need it. Vectorization matters because training loops process millions of data points. Memory layout matters because GPU kernels need contiguous data. We've been building the engine. Now it's time to build the car.
Why now
In 2026, understanding AI isn't optional for serious developers. Not "understanding" as in reading blog posts about ChatGPT - understanding as in: you can explain what a transformer does, write a training loop from scratch, and look at a model architecture diagram and know what each layer computes.
The divide is stark. Developers who use AI as a black box (calling APIs, hoping the output is correct, unable to debug when it isn't) versus developers who understand the internals (can fine-tune, evaluate, debug, and read papers). Those two groups will have very different career trajectories. I want my readers in the second one.
There's a personal angle too. I've spent years working with AI tools and reading papers - but scattered knowledge isn't the same as structured knowledge. Teaching forces you to organize what you know into a coherent path. That's what this series is: taking everything I've accumulated and distilling it into the progression I wish had existed when I started ;-)
The philosophy: understand first, libraries second
The new series - the Learn AI Series - follows one core principle: build things from scratch before using libraries.
Most AI tutorials start with model.fit(X, y) and call it a day. You've "done machine learning" but learned nothing about what happened inside. When it breaks - and it will - you can't debug it.
Say your classifier is stuck at 50% accuracy. If you only know the API, your toolkit is: try different hyperparameters, try a different model, ask Stack Overflow. That's guessing. If you understand the internals, your debugging is systematic: is the loss decreasing? (If not: learning rate problem.) Loss decreasing but accuracy flat? (Class imbalance.) Training accuracy great but validation terrible? (Overfitting.) Each diagnosis requires understanding the training loop from the inside.
So we build things from scratch with NumPy first - gradient descent, regression, neural networks. Then we use scikit-learn, PyTorch, and Hugging Face, because at that point those library calls are recognition, not mystery.
The direction
I'm not laying out a detailed curriculum - the series goes where the material takes it. But the direction is clear:
We start from absolute zero. What is machine learning? What does "learning from data" actually mean? Then we build intuition with tiny examples, earn the math we need (only what's needed), and construct real algorithms from scratch.
The natural progression from there: classical ML → neural networks → deep learning → transformers → LLMs → and wherever the field goes next. Each concept built on the last. Mini-projects along the way. How far we go depends on how deep the rabbit hole is. (It's very deep.)
You're more prepared than you think
If you've been following the Learn Python Series, you already have critical prerequisites locked in:
- Pandas (#30-33, #54-55): loading, cleaning, transforming tabular data - the first thing every ML project does
- NumPy (#56): memory layout, broadcasting, vectorization - the exact operations underneath every ML library
- FastAPI stack (#49-53): building and deploying APIs - how trained models get served in production
- Advanced Python (#46-48): descriptors, generators, threading - the mechanics powering PyTorch internals
Even if you haven't followed every episode: solid Python plus basic NumPy and Pandas is enough to start.
What this is NOT
- Not a math course. We cover math only to understand algorithms - visualizations over formal proofs
- Not a prompt engineering course. If we reach LLMs, we'll understand why prompts work, not memorize magic phrases
- Not a shortcut. AI is deep. Genuine competence takes time. No "master AI in 10 lessons" nonsense
- Not leaving Python behind. Same language, same foundation, fresh numbering - the DNA is identical
The Learn Python Series isn't ending
Think of it as having reached a natural milestone. Fifty-seven episodes from absolute beginner through advanced metaprogramming, web development, and data science. That's a complete education. It may get occasional additions, but the main arc is done.
The Learn AI Series picks up the torch. Same author. Same philosophy. Same community.
I've spent nine years building this series. The next chapter is the one I've been working toward.