A personal, hands-on journey into how AI and machine learning systems work, from first-principles fundamentals to applied LLM systems. The focus is on learning by building: implementing core ideas from scratch, studying their trade-offs, and documenting the reasoning behind each solution.
The core of this repository is a deep, deliberate study of Andrej Karpathy's Neural Networks: Zero to Hero lecture series - building neural networks and language models from scratch in PyTorch, starting from raw backpropagation and working up to a GPT-style Transformer.
All coursework, exercises, and notes for this series live in
topics/karpathy-neural_networks/, organized
lecture by lecture:
| # | Lecture | Topic |
|---|---|---|
| 1 | micrograd | Backpropagation & autograd engine from scratch |
| 2 | makemore (bigram) | Bigram character-level language model |
| 3 | makemore (MLP) | MLP language model |
| 4 | makemore (BatchNorm) | Activations, gradients, BatchNorm |
| 5 | makemore (backprop ninja) | Manual backprop through the MLP |
| 6 | makemore (WaveNet) | WaveNet-style hierarchical model |
| 7 | GPT | Building GPT from scratch |
| 8 | Tokenizer | Building the GPT tokenizer |
Additional courses tracked in topics/ alongside this repository's
core study track:
| Track | Course | Status |
|---|---|---|
andrew-ng-machine-learning/ |
Andrew Ng - Machine Learning Specialization | Not started |
andrew-ng-prompt-engineering/ |
Andrew Ng - Full AI Prompting Course | Completed |
Applied work that builds on these fundamentals:
| Project | Description | Topics |
|---|---|---|
| intentCast-mcp | My first project working directly with LLMs: an MCP server that resolves natural-language prompts into structured, typed function calls using a small local LLM (Qwen3-0.6B) and constrained decoding, guaranteeing 100% valid JSON output. | LLMs, tokenization, function calling, constrained decoding, structured output |
Each project contains its own documentation, setup instructions, design decisions, and technical analysis.
AI_Machine_Learning/
├── topics/
│ ├── karpathy-neural_networks/ # Neural Networks: Zero to Hero
│ ├── andrew-ng-machine-learning/ # Machine Learning Specialization
│ └── andrew-ng-prompt-engineering/ # Full AI Prompting Course
├── projects/
│ └── intentCast-mcp/ # pointer to the intentCast-mcp repo
├── tools/
│ └── Jupyter_Notebook/ # Jupyter notebook setup and utilities
├── src/ # Shared assets (e.g. banner image)
└── README.md
Work in this repository aims to:
- build important mechanisms instead of treating models as black boxes;
- explain algorithms and design decisions clearly;
- use reproducible environments and documented workflows;
- validate results with testing, static analysis, and measurable outcomes;
- connect theory to working implementations.
Python, PyTorch, Transformers, NumPy, Matplotlib, Jupyter, Pydantic, and uv.
- To follow along with the course, see
topics/karpathy-neural_networks/for setup instructions and lecture-by-lecture progress. - To explore applied work, open the project index and follow the setup and usage instructions in each project's README. Projects are self-contained and may have different dependencies or system requirements.
