Practice

Courses, workshops, and learning tracks I work through hands-on. Active learning is how I move from understanding to fluency.

Active Learning

Courses and tracks I'm working through hands-on.

Frontend Masters · Anjana Vakil

JavaScript First Steps

In Progress

Take your first steps into the wide world of JavaScript and walk away with the core skills needed to become a professional JavaScript programmer!

DOM API
Data Types
Functions & Scope
Arrays & Objects
Async JavaScript
Fetching Data

Frontend Masters · Maximiliano Firtman

Vanilla JS: You Might Not Need a Framework

In Progress

Build a complete single-page application from scratch using only the browser's own APIs. DOM manipulation, SPA routing, web components, shadow DOM, and reactive programming with Proxies.

DOM API
SPA Routing
Web Components
Shadow DOM
Proxies
Reactive Programming

Frontend Masters · Will Sentance

JavaScript: The Hard Parts, v3

In Progress

Go deep into the foundational mechanics of JavaScript — from execution context and closure to asynchronous code and object-oriented programming.

Execution Context
Closure
Asynchronous JS
Event Loop
OOP & Prototypes
Type Coercion

Frontend Masters · Will Sentance

The Hard Parts of UI Engineering

In Progress

A deep dive into how browsers actually work under the hood. DOM, CSSOM, WebCore, data synchronization, one-way data flow, and building a custom Virtual DOM from scratch.

C++ DOM
WebCore
Callback Queue
Data Flow
Two-Way Binding
Virtual DOM
Reactivity

Frontend Masters · Scott Moss

AI Engineering Fundamentals

In Progress

Stop building chat wrappers. Learn the discipline of AI engineering by building a real agentic diagramming app from first principles — agents, tools, evaluation, and memory.

AI Agents
Tool Use
Evaluation
Agentic Systems
LLM Applications
Memory
Structured Output

Scaler · Naman Bhalla

Low-Level Design

In Progress

Object-oriented design, design patterns, class diagrams, schema design, and machine coding interviews — from theory to full working systems.

OOP
Design Patterns
Class Diagrams
Machine Coding
SOLID Principles
Strategy
Factory
Builder

Frontend Masters · Brian Holt

Complete Intro to MCP

In Progress

Build MCP servers from scratch — registering tools, resources, and prompts; connecting external APIs; SSE and Streamable HTTP transport; and integrating MCPs into Claude Desktop and Claude Code workflows.

MCP Tools
MCP Resources
MCP Prompts
JSON-RPC
Claude Desktop
Streamable HTTP
MCP Security
Vibe Coding

Frontend Masters · Steve Kinney

React Performance, v2

In Progress

Deep dive into React internals — Fiber, lanes, render phases — and practical optimisation techniques like state colocation, memoization, useTransition, and optimistic UI.

React Fiber
useCallback
React.memo
useMemo
useTransition
useDeferredValue
Optimistic UI

Frontend Masters · Will Sentance

Hard Parts of Neural Networks

In Progress

Understand how AI prediction and neural networks work under the hood. From basic decision models to production-ready neural networks, build robust mental models for data preprocessing, probability, training, and prediction.

Neural Networks
Gradient Descent
Backpropagation
Sigmoid Function
Machine Learning
Data Preprocessing
Decision Trees
Model Evaluation

Scaler · Amar Shrivastava

Product Management for Developers

In Progress

Understand how product decisions get made — and why it matters for every engineer. Learn prioritization, user thinking, A/B testing, PM tools, and product analytics through real case studies.

Prioritization
Product Thinking
A/B Testing
Product Analytics
Critical Thinking
Figma & Jira
User Experience
Product Engineer

Written Notes

Courses I've completed and documented as blog series.

Other

High-Level System Design

In Progress

System design fundamentals — DNS, load balancing, consistent hashing, caching, CDN, and designing at scale from first principles.

DNS
Load Balancing
Consistent Hashing
Caching
CDN
Scalability

Ava Coders

Mastering UML

Completed

A comprehensive 8-part series on UML 2.0 notation and application in modern software engineering.

UML 2.0
Structural Diagrams
Behavioral Diagrams
Interaction Diagrams