MULTICHAIN BUILDERS
HomeLearnCoursesHackathonsAccount
Multichain BuildersMultichain Builders
LearnHackathonsWorkshopProjectsKidsAbout
Hire Talent
Quick access
LearnHackathonsWorkshopProjectsKidsAbout
Hire Talent
MULTICHAIN BUILDERS · AI · BLOCKCHAIN · ROBOTICS
Learning Hub

All Learning Pathways

400 pathways across AI, Blockchain, Robotics, and Design. New here? Each category is ordered start to finish, just look for the "Start here" badge in a category and take courses in the order they appear, we'll always point you to what's next once you finish one.

Mastering Claude & the Anthropic Ecosystem

8-part guided track
PART 1
Beginner
Claude Fundamentals

Learn to work with Claude like you'd learn to work with a sharp new colleague.

0/6 lessons
PART 2
Intermediate
Mastering the Claude API

Go from a single API call to a production-grade Claude integration.

python
import anthropic

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-1",
    max_tokens=1024,
    system="You are a concise weather assistant. Use the tool when asked about conditions.",
    tools=[
        {
            "name": "get_weather",
            "description": "Get the current weather for a given city.",
            "input_schema": {
                "type": "object",
                "properties": {
                    "city": {"type": "string", "description": "City name, e.g. 'Nairobi'"}
                },
                "required": ["city"],
            },
        }
    ],
    messages=[{"role": "user", "content": "What's the weather in Nairobi?"}],
)

print(response.stop_reason)   # "tool_use" if Claude wants to call get_weather
print(response.content)       # list of content blocks, e.g. a tool_use block
0/7 lessons
PART 3
Intermediate
Claude Code: Agentic Development in the Terminal

Stop typing every line yourself, direct an agent that reads, plans, and ships code with you.

markdown
# CLAUDE.md
## Project: payments-service

- Run tests with `pnpm test`, not `npm test`
- Never edit files under `generated/`, they're codegen output
- All new endpoints need a corresponding test in `tests/api/`
- Use the existing `Result<T, E>` type for error handling,
  not thrown exceptions
- Ask before adding a new dependency
0/6 lessons
PART 4
Advanced
Claude Agent Skills & Subagents

Stop re-explaining yourself to the agent, and stop making one context do everything.

markdown
---
name: pdf-form-filler
description: >
  Use when the user asks to fill out, complete, or populate a PDF form
  (tax forms, applications, intake forms) with provided data. Not for
  reading or summarizing PDF content, or for generating a new PDF from
  scratch.
---

# Filling PDF Forms

1. Identify the form fields with `scripts/list_fields.py <path>`.
2. Map the user's data onto field names; ask before guessing on
   ambiguous fields (e.g. multiple "Name" fields).
3. Fill with `scripts/fill_form.py <path> <field=value>...`.
4. Report which fields were left blank and why.
0/5 lessons
PART 5
Advanced
Model Context Protocol for Builders

One protocol, any tool, any AI app, no more custom glue code per pair.

python
# Conceptual sketch of an MCP tool definition.
# The model never sees your code, only this description and schema.
# If the description is ambiguous, the model will call it wrong.

TOOL = {
    "name": "get_invoice",
    "description": (
        "Fetch a single invoice by its ID. Returns the invoice status, "
        "amount due, and due date. Use this before answering any question "
        "about whether a specific invoice has been paid."
    ),
    "input_schema": {
        "type": "object",
        "properties": {
            "invoice_id": {
                "type": "string",
                "description": "The invoice ID, e.g. 'INV-2024-0113'."
            }
        },
        "required": ["invoice_id"],
    },
}

def handle_call(name, arguments):
    if name == "get_invoice":
        return lookup_invoice(arguments["invoice_id"])
    raise ValueError(f"Unknown tool: {name}")
0/6 lessons
PART 6
Beginner
AI Fluency: The 4D Framework

Working well with AI is a skill, not a personality trait, here's how to build it.

0/6 lessons
PART 7
Intermediate
Claude Cowork: Delegating Real Work to AI

Hand off multi-step work without losing control of it

0/5 lessons
PART 8
Advanced
Deploying Claude at Scale: Platform, Bedrock, and Vertex AI

Pick the right deployment path before you build around it

0/5 lessons

Claude in Production: The Sharp Edges

7-part guided track
PART 1
Advanced
Why Your Cache Hit Rate Is Zero

Prompt caching is a prefix match. One timestamp in your system prompt and you are paying full price on every single request, with no error to tell you.

0/3 lessons
PART 2
Intermediate
The Effort Dial

Five settings between low and max change how hard Claude thinks, what it costs, and how many tool calls it makes. Most teams never touch it.

0/3 lessons
PART 3
Advanced
When the Model Says No

A refusal returns HTTP 200. If your code reads content without checking stop_reason first, it will happily hand your users an empty string.

0/3 lessons
PART 4
Advanced
Append-Only: The Harness Rule Nobody Warned You About

Claude Fable 5.1 checks whether you edited earlier turns. If your agent rewrites history, it will start failing, and the error message will not explain why.

0/3 lessons
PART 5
Advanced
When Anthropic Runs the Loop

Managed Agents is the surface where somebody else hosts your agent's container, its state, and its schedule. Here's when that is the right call and when it isn't.

0/4 lessons
PART 6
Intermediate
Claude Code Past the Solo Developer

One engineer running an agent in a terminal is a productivity story. Forty engineers running agents is an infrastructure problem.

0/3 lessons
PART 7
Beginner
The Watermark You Can't See

Since August 2026, Claude has woven an invisible signal into the text it writes. No public tool can reliably detect it, and that is deliberate.

0/3 lessons

Anthropic's Enterprise Playbook

7-part guided track
PART 1
Advanced
Your Logs Stay in Your Bucket

Anthropic's Enterprise Frontier Safeguards break the old trade-off between zero data retention and misuse detection. Here's the actual mechanism.

0/3 lessons
PART 2
Intermediate
Claudeforce: Claude Inside the CRM

Anthropic and Salesforce wired Claude into both directions of the enterprise stack. What that actually means for the people who sell for a living.

0/3 lessons
PART 3
Intermediate
Ten Agents for Wall Street

Anthropic shipped templates for month-end close, KYC screening, and earnings review. The interesting part is which jobs it picked.

0/3 lessons
PART 4
Intermediate
The Shopping Agent That Won't Take Your Money

Anthropic shipped an open commerce blueprint on September 2, 2026 that deliberately stops short of checkout. That restraint is the most interesting design decision in it.

0/3 lessons
PART 5
Advanced
When Anthropic Runs the Loop

Managed Agents is the surface where somebody else hosts your agent's container, its state, and its schedule. Here's when that is the right call and when it isn't.

0/4 lessons
PART 6
Intermediate
Claude Code Past the Solo Developer

One engineer running an agent in a terminal is a productivity story. Forty engineers running agents is an infrastructure problem.

0/3 lessons
PART 7
Intermediate
Risk Reports Every Six Months

Anthropic rewrote its Responsible Scaling Policy in February 2026. The interesting part is not the thresholds, it's the reporting obligations it created.

0/3 lessons

Beyond Claude: OpenAI, Google & Open Models

11-part guided track
PART 1
Intermediate
Building with the OpenAI API

Same job, different API. Here's what actually changes.

0/6 lessons
PART 2
Intermediate
OpenAI Codex and the Rise of AI Coding Agents

The same pattern, a growing list of vendors

0/5 lessons
PART 3
Beginner
The State of AI Coding Tools in 2026

A clear-eyed map of what these tools actually do, and what they don't.

0/6 lessons
PART 4
Intermediate
Google's Gemini and the Wider Google AI Ecosystem

What Gemini actually is, what Google's tooling gives you, and when to reach for it.

0/5 lessons
PART 5
Intermediate
Google Astra and the New Multimodal AI Assistants

What it actually means for an AI to see, hear, and talk back in real time.

0/5 lessons
PART 6
Intermediate
Open-Source LLMs: Llama, Mistral, DeepSeek, and the Open Model Ecosystem

What 'open' actually means, who the real players are, and when to self-host

0/5 lessons
PART 7
Intermediate
Fine-Tuning & Customizing LLMs

When better instructions aren't enough, change the model itself.

json
{
  "messages": [
    { "role": "system", "content": "You are a support agent for Acme Cloud. Always answer in three short bullet points." },
    { "role": "user", "content": "My deploy failed with error E-402, what do I do?" },
    { "role": "assistant", "content": "- E-402 means your build exceeded the memory limit\n- Increase the memory allocation in acme.yaml under 'build.resources'\n- Redeploy, and check the build logs if it fails again" }
  ]
}
0/5 lessons
PART 8
Intermediate
Atlas Is Gone. The Agentic Browser Isn't.

OpenAI shipped a browser in October 2025 and switched it off in August 2026. What got absorbed, what got abandoned, and what that says about product strategy in AI.

0/3 lessons
PART 9
Intermediate
The First Model Rated Critical for Cyber

GPT-6 Astra hit 100% on ExploitBench and went to enterprise customers first. Capability gating stopped being hypothetical.

0/3 lessons
PART 10
Beginner
€3 Billion for Sovereign AI

Samsung led Europe's largest ever equity round into a company whose whole pitch is that Europe should not depend on American models.

0/3 lessons
PART 11
Intermediate
The Chip Company Bought the Model Hub

NVIDIA agreed to buy Hugging Face for $12.93 billion on September 3, 2026. The silicon and the marketplace where models get shared are now under one roof.

0/3 lessons

AI Agents & Automation

9-part guided track
PART 1
Intermediate
Agent Architectures & Planning

The loop, the reasoning, and the planning strategies that separate real agents from chatbots with extra steps.

text
# ReAct-style agent loop (pseudocode)
state = get_initial_observation()
for step in range(MAX_STEPS):
    thought = model.reason(goal, state, history)
    if thought.is_final_answer:
        return thought.answer

    action = thought.next_action          # e.g. call_tool("search", query)
    observation = execute(action)          # run it, catch failures
    history.append((thought, action, observation))

    if observation.failed and repeated_failure(history):
        break                              # bail out instead of looping forever
    state = update_state(state, observation)

return "stopped: exceeded max steps or unrecoverable failure"
0/5 lessons
PART 2
Intermediate
Tool Use & Function Calling

Turn a model that only talks into a model that can actually do things.

json
{
  "name": "get_order_status",
  "description": "Look up the current shipping status of a customer order by its order ID. Use this when the user asks where their order is or whether it has shipped.",
  "parameters": {
    "type": "object",
    "properties": {
      "order_id": {
        "type": "string",
        "description": "The order ID, formatted like 'ORD-48213'. Do not guess this value, ask the user for it if unknown."
      }
    },
    "required": ["order_id"]
  }
}
0/5 lessons
PART 3
Advanced
Multi-Agent Systems

One agent can only focus on so much. Learn when to split the work across a team.

python
def supervisor(task):
    plan = supervisor_llm.plan(task)
    results = {}

    for subtask in plan.subtasks:
        worker = select_worker(subtask.role)
        message = {
            "requested": subtask.instruction,
            "context": results,
        }
        results[subtask.role] = worker.run(message)

    return supervisor_llm.combine(results)
0/5 lessons
PART 4
Advanced
Agent Memory & Context Management

Your agent forgets everything by default. Here's how to make it remember what actually matters.

text
function step(agent_state, new_observation):
    context = agent_state.working_context + new_observation

    if token_count(context) > CONTEXT_BUDGET:
        old_part, recent_part = split(context, keep_recent=RECENT_STEPS)
        summary = llm_summarize(old_part)   # compress, don't discard
        context = summary + recent_part

    relevant_memories = retrieve(vector_store, query=new_observation, k=5)
    full_context = relevant_memories + context

    response = llm_call(full_context)

    if response.contains_durable_fact():
        write_to_long_term_memory(response.fact)

    return response, context
0/5 lessons
PART 5
Beginner
Building Your First AI Agent: A Hands-On Project

Stop reading about agent architecture and go build one.

0/6 lessons
PART 6
Intermediate
Debugging and Improving AI Agents

Your agent is already built and already breaking. Here's how to find out why and fix it.

0/6 lessons
PART 7
Intermediate
Building AI Agents

Go beyond chatbots and build AI that plans, acts, and gets things done.

python
while not task_complete:
    observation = get_current_state()
    thought, action = model.decide(observation, goal, history)
    result = execute_tool(action, sandbox=True)
    history.append((thought, action, result))
    task_complete = check_goal_reached(result, goal)
0/4 lessons
PART 8
Advanced
MCP Grows Up

Anthropic gave the Model Context Protocol away, the spec went stateless, and enterprises discovered they have no idea what their agents are touching.

0/3 lessons
PART 9
Intermediate
Two Protocols, One Foundation

MCP connects an agent to tools. A2A connects agents to each other. As of August 2026 both live under the same Linux Foundation roof.

0/3 lessons

Deploying & Scaling AI Agents

11-part guided track
PART 1
Advanced
Deploying Production AI Agents

Turn a working demo into a system you can trust unsupervised.

python
class CostGuard:
    def __init__(self, max_calls_per_task=15, max_cost_per_user_per_day=2.00):
        self.max_calls_per_task = max_calls_per_task
        self.max_cost_per_user_per_day = max_cost_per_user_per_day
        self.spend_by_user = {}

    def check(self, user_id, task_call_count, projected_cost):
        if task_call_count >= self.max_calls_per_task:
            raise AgentHalted("task exceeded max tool calls, likely looping")

        spent_today = self.spend_by_user.get(user_id, 0.0)
        if spent_today + projected_cost > self.max_cost_per_user_per_day:
            raise AgentHalted("user daily cost cap reached, route to human")

        return True

    def record(self, user_id, actual_cost):
        self.spend_by_user[user_id] = self.spend_by_user.get(user_id, 0.0) + actual_cost


# every tool call goes through the guard before it fires
guard.check(user_id, task_call_count, projected_cost)
result = call_tool(...)
guard.record(user_id, result.cost)
0/5 lessons
PART 2
Advanced
Hands-On AI Agent Development

Take the agent loop out of theory and into working code, one mechanical piece at a time.

python
# The core mechanical pattern behind every tool-using agent
  while iterations < MAX_ITERATIONS:
      response = model.generate(conversation_history)
  
      if response.type == "final_answer":
          return response.text
  
      # response.type == "tool_call"
      tool_name = response.tool_call.name
      arguments = response.tool_call.arguments  # raw, model-produced JSON
  
      if not is_valid(tool_name, arguments):       # your code, not the model
          result = {"error": "invalid arguments"}
      else:
          result = execute_tool(tool_name, arguments)  # your code actually runs it
  
      conversation_history.append(response)
      conversation_history.append({"role": "tool", "content": result})
      iterations += 1
  
  raise TimeoutError("Agent exceeded max iterations without a final answer")
0/6 lessons
PART 3
Advanced
Long-Horizon AI Agents

How an agent keeps chasing the same goal across days, restarts, and a world that won't hold still.

pseudocode
// A persisted "task status" object: the plan's state, saved outside
  // any single conversation, so a fresh session can pick up mid-task.
  
  task_status = {
    goal: "Launch the Q3 customer research report",
    constraints: [
      "Budget capped at 40 interview hours",
      "Must use only publicly available survey tools"
    ],
    steps: [
      { id: 1, description: "Define research questions", status: "done" },
      { id: 2, description: "Recruit interview participants", status: "done" },
      { id: 3, description: "Conduct interviews", status: "in_progress" },
      { id: 4, description: "Synthesize findings", status: "pending" },
      { id: 5, description: "Write final report", status: "pending" }
    ],
    next_step_id: 3,
    decisions_log: [
      "Chose phone interviews over in-person to save travel time"
    ],
    last_updated: "2026-08-10T09:00:00Z"
  };
  
  // --- session ends here, maybe for days ---
  
  // A brand new session, possibly a different agent instance,
  // reloads the same object instead of starting from nothing:
  function resumeTask(saved_status) {
    const current = saved_status.steps.find(
      s => s.id === saved_status.next_step_id
    );
    return `Resuming "${saved_status.goal}". Current step: ${current.description}`;
  }
0/5 lessons
PART 4
Advanced
Autonomous Software Engineering Agents

What these systems really do, where they actually break, and where humans still have to stay in the loop

0/5 lessons
PART 5
Intermediate
AI Browser Agents and Autonomous Web Tasks

What it takes for an AI to actually click, type, and get things done on the web.

0/5 lessons
PART 6
Intermediate
AI Agents in Customer Support: Real Deployments

Triage the easy stuff, hand off the rest, and know the difference.

0/4 lessons
PART 7
Advanced
Context Engineering for LLM Applications

The context window is not free real estate. Treat it like one.

0/6 lessons
PART 8
Intermediate
The 40% Problem

Gartner thinks most agentic AI projects will be killed before they ship. The reasons are boringly predictable and mostly avoidable.

0/3 lessons
PART 9
Intermediate
What Your Agent Costs Per Task

Agentic projects get cancelled for cost far more often than for capability. Most teams never compute the per-task number.

0/3 lessons
PART 10
Advanced
Append-Only: The Harness Rule Nobody Warned You About

Claude Fable 5.1 checks whether you edited earlier turns. If your agent rewrites history, it will start failing, and the error message will not explain why.

0/3 lessons
PART 11
Advanced
When Anthropic Runs the Loop

Managed Agents is the surface where somebody else hosts your agent's container, its state, and its schedule. Here's when that is the right call and when it isn't.

0/4 lessons

AI Agent Security & Trust

11-part guided track
PART 1
Advanced
AI Agent Security & Prompt Injection Defense

Your agent reads untrusted text all day long. Every one of those reads is a potential instruction.

0/5 lessons
PART 2
Advanced
Prompt Injection and AI Agent Security

The security problem that comes with letting an AI agent read the open web, and why there's no clean fix yet

0/5 lessons
PART 3
Advanced
AI Observability and Evaluation in Production

Your API can return 200 OK and still be wrong. That's the whole problem.

0/5 lessons
PART 4
Advanced
Mechanistic Interpretability

Stop guessing what a neural network is thinking. Open it up and read the circuits inside.

0/6 lessons
PART 5
Advanced
AI Safety & Alignment

Getting AI to want what we actually want is harder than it sounds.

0/4 lessons
PART 6
Advanced
Who Is This Agent?

Every access control system ever built assumes a human is behind the request. Agents break that assumption quietly.

0/3 lessons
PART 7
Advanced
Getting Paid to Break Models

Only 14 percent of organisations think they have the AI security talent they need. That gap is a salary.

0/3 lessons
PART 8
Intermediate
The First Model Rated Critical for Cyber

GPT-6 Astra hit 100% on ExploitBench and went to enterprise customers first. Capability gating stopped being hypothetical.

0/3 lessons
PART 9
Beginner
The Watermark You Can't See

Since August 2026, Claude has woven an invisible signal into the text it writes. No public tool can reliably detect it, and that is deliberate.

0/3 lessons
PART 10
Intermediate
Anthropic's September 2026 Threat Intelligence Report

How state actors, criminal groups, and lone operators are actually misusing frontier AI, and how it gets caught.

0/3 lessons
PART 11
Intermediate
When AI Safety Researchers Quit: What They're Actually Saying

Reading the public resignations and warnings from people who worked on frontier AI, in their own words.

0/2 lessons

Applied Machine Learning

10-part guided track
PART 1
Intermediate
Supervised Learning in Practice

Give a model the right answers enough times, and it learns to guess well on its own.

python
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

# X = input features, y = known labels (spam or not spam)
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

model = DecisionTreeClassifier(max_depth=4)
model.fit(X_train, y_train)          # learn from labeled examples

predictions = model.predict(X_test)  # guess on unseen examples
accuracy = (predictions == y_test).mean()
print(f"Accuracy on held-out data: {accuracy:.2f}")
0/5 lessons
PART 2
Intermediate
Unsupervised Learning & Clustering

Find the structure hiding in data that nobody labeled for you.

text
pick k (number of clusters)
randomly place k cluster centers

repeat until assignments stop changing:
    for each data point:
        assign it to the nearest cluster center
    for each cluster:
        recalculate its center as the average
        of all points currently assigned to it
0/5 lessons
PART 3
Intermediate
Feature Engineering for ML

Your model is only as good as the inputs you hand it.

python
import pandas as pd
from sklearn.preprocessing import OneHotEncoder, StandardScaler

df = pd.DataFrame({
    "color": ["red", "green", "blue", "green"],
    "income": [42000, 88000, 51000, 120000],
})

# Encoding: turn a categorical column into numeric columns a model can use
encoder = OneHotEncoder(sparse_output=False)
color_encoded = encoder.fit_transform(df[["color"]])

# Scaling: put a wide-range numeric column onto a comparable scale
scaler = StandardScaler()
income_scaled = scaler.fit_transform(df[["income"]])

# Without scaling, income (tens of thousands) would dwarf a 0/1 encoded
# feature in any distance-based or gradient-based model, not because it's
# more predictive, just because its raw numbers are bigger.
print(color_encoded, income_scaled)
0/5 lessons
PART 4
Intermediate
Model Evaluation & Metrics

A model that looks great on paper can still be useless in production, learn to tell the difference.

python
# Computing precision and recall from confusion matrix counts
tp = 42   # true positives: correctly flagged as positive
fp = 8    # false positives: flagged positive, actually negative
fn = 5    # false negatives: missed, actually positive
tn = 945  # true negatives: correctly flagged as negative

precision = tp / (tp + fp)
recall = tp / (tp + fn)
accuracy = (tp + tn) / (tp + fp + fn + tn)

print(f"precision: {precision:.2f}")  # of flagged positives, how many were right
print(f"recall:    {recall:.2f}")     # of actual positives, how many were caught
print(f"accuracy:  {accuracy:.2f}")   # can look great even when recall is terrible
0/5 lessons
PART 5
Advanced
MLOps: Deploying & Monitoring ML Models

A good test-set score is the beginning of the job, not the end.

python
# simplified drift check: compare live prediction distribution
# against the distribution the model was trained on

def check_drift(training_dist, live_predictions, threshold=0.1):
    live_dist = bucket_counts(live_predictions)
    score = population_stability_index(training_dist, live_dist)

    if score > threshold:
        alert_team(
            message=f"Drift detected: PSI={score:.3f} exceeds {threshold}",
            severity="warning",
        )
        return False
    return True
0/5 lessons
PART 6
Intermediate
Time Series Forecasting

The past isn't a random sample of the past, it's a sequence, and that changes everything about how you model it.

python
# Chronological split: never shuffle time series data
  cutoff = int(len(series) * 0.8)
  train, test = series[:cutoff], series[cutoff:]
  
  # Expanding-window backtest: retrain as the window grows forward
  for cutoff in range(min_train_size, len(series), step):
      train, test = series[:cutoff], series[cutoff:cutoff + horizon]
      model.fit(train)
      preds = model.predict(horizon)
      score(preds, test)
0/5 lessons
PART 7
Intermediate
Recommender Systems

How systems guess what you'll want next, and why that guess so often goes sideways.

python
# Toy matrix factorization: learn user and item embeddings
  # so that dot(user_vec, item_vec) approximates a rating.
  import numpy as np
  
  n_users, n_items, k = 500, 2000, 32
  user_emb = np.random.normal(scale=0.1, size=(n_users, k))
  item_emb = np.random.normal(scale=0.1, size=(n_items, k))
  
  def predict(u, i):
      return user_emb[u] @ item_emb[i]
  
  def train_step(u, i, rating, lr=0.01, reg=0.02):
      pred = predict(u, i)
      error = rating - pred
      # gradient step, nudging both vectors toward each other
      # when the interaction is positive
      user_emb[u] += lr * (error * item_emb[i] - reg * user_emb[u])
      item_emb[i] += lr * (error * user_emb[u] - reg * item_emb[i])
0/5 lessons
PART 8
Advanced
When Fine-Tuning Actually Beats Prompting

LLM fine-tuning is on every in-demand skills list, and it is the wrong answer to most problems it is applied to.

0/3 lessons
PART 9
Advanced
The Job Nobody Can Fill: ML Platform

MLOps, Kubernetes and distributed systems appear in hundreds of listings and are chronically under-supplied.

0/3 lessons
PART 10
Advanced
The Distributed Training Interview

Distributed systems appears in over 1,500 AI job listings, and most candidates cannot explain why their job needs eight GPUs.

0/3 lessons

Computer Vision Deep Dive

4-part guided track
PART 1
Intermediate
Object Detection & Tracking

Go from labeling a whole image to finding, boxing, and following every object in it.

text
# Simplified non-maximum suppression (NMS)
# Input: a list of candidate boxes for ONE class, each with a confidence score

boxes = sort_by_confidence_descending(candidate_boxes)
kept = []

while boxes is not empty:
    best = boxes.pop(0)          # highest remaining confidence
    kept.append(best)

    # Remove any remaining box that overlaps "best" too much
    boxes = [b for b in boxes if overlap(b, best) < OVERLAP_THRESHOLD]

# "kept" now has roughly one box per real object, not thousands
0/5 lessons
PART 2
Intermediate
Image Segmentation

Stop drawing boxes. Start outlining exact shapes, pixel by pixel.

text
// Object detection output: a handful of numbers per object
{ class: "person", box: [x_min: 120, y_min: 40, x_max: 260, y_max: 400], confidence: 0.94 }

// Segmentation output: a full grid matching the image dimensions
// every single pixel position gets its own predicted class
image size: 640 x 480
mask shape: [640, 480]   // one class label per pixel, not per object

mask[0..119][*]     = "background"
mask[120..260][40]  = "person"   // only the actual person-shaped pixels
mask[120..260][400] = "person"   // background between the legs stays "background"
mask[261..640][*]   = "background"
0/5 lessons
PART 3
Advanced
Vision Transformers

The architecture built for language learns to see.

python
# Simplified: turning an image into a sequence of patch tokens

image = load_image()              # shape: (224, 224, 3)
patch_size = 16

patches = split_into_patches(image, patch_size)
# patches shape: (14 x 14 grid, 16, 16, 3) -> 196 total patches

tokens = [flatten(p) for p in patches]
# each token is a flat vector, like a "word" in a sentence

tokens = [linear_projection(t) for t in tokens]
tokens = add_position_embeddings(tokens)
# position embeddings matter here, unlike a CNN, the transformer
# has no built-in sense of where each patch sits in the image

output = transformer_encoder(tokens)   # standard self-attention stack
prediction = classification_head(output[0])  # the [CLS] token
0/5 lessons
PART 4
Advanced
3D Vision & Depth Estimation

A photo tells you what's there. Depth estimation tells you how far away it is.

text
# Converting stereo disparity into real-world depth

baseline        = distance between the two camera centers (meters)
focal_length    = camera focal length (pixels)
disparity       = how many pixels a point shifts between the left and right image

depth = (baseline * focal_length) / disparity

# Intuition:
# - larger disparity (big pixel shift) -> object is close -> smaller depth
# - smaller disparity (tiny pixel shift) -> object is far -> larger depth
# - disparity near 0 -> depth approaches infinity (point is effectively at the horizon)
0/5 lessons

NLP & Language Systems

8-part guided track
PART 1
Beginner
NLP Fundamentals

How machines turn raw text into something they can actually compute on.

text
"I don't like tokenization" tokenized into subwords:

["I", "don", "'t", "like", "token", "ization"]

Notice: "don't" splits into "don" + "'t", and
the rarer word "tokenization" splits into two
common pieces instead of getting its own slot.
0/5 lessons
PART 2
Intermediate
Speech Recognition & Synthesis

Teach machines to listen and to speak, and understand why voice is harder than text.

text
Raw audio pipeline (conceptual):

1. Microphone captures a continuous sound wave (air pressure over time)
2. Sampling: the wave is measured thousands of times per second
   e.g. 16,000 samples/sec -> a long list of numbers (amplitudes)
3. Spectrogram conversion: chop audio into short time windows,
   measure which frequencies are present in each window
   -> produces a 2D grid: time (x-axis) by frequency (y-axis)
4. The spectrogram is now image-like data a neural network can process
5. ASR model maps spectrogram patterns -> phonemes -> words -> text
6. TTS runs this in reverse: text -> predicted spectrogram -> waveform
0/5 lessons
PART 3
Intermediate
Building Conversational AI & Chatbots

Design the back-and-forth, not just the brain behind it.

json
{
  "intent": "book_flight",
  "slots": {
    "origin": "Chicago",
    "destination": null,
    "date": "2026-09-12",
    "passengers": 1
  },
  "missing_slots": ["destination"],
  "next_action": "ask_for_destination",
  "turn_count": 3
}
0/5 lessons
PART 4
Advanced
Multimodal AI Systems

One model, every input: text, images, audio, and the shared space that connects them.

python
# Simplified CLIP-style contrastive training loop
for images, captions in dataloader:
    image_embeds = image_encoder(images)      # shape: [batch, dim]
    text_embeds = text_encoder(captions)       # shape: [batch, dim]

    image_embeds = normalize(image_embeds)
    text_embeds = normalize(text_embeds)

    # similarity between every image and every caption in the batch
    similarity = image_embeds @ text_embeds.T  # [batch, batch]

    # the correct pairs sit on the diagonal, everything else is a mismatch
    labels = range(batch_size)

    loss_i = cross_entropy(similarity, labels)       # pull correct image->text pairs together
    loss_t = cross_entropy(similarity.T, labels)      # pull correct text->image pairs together
    loss = (loss_i + loss_t) / 2

    loss.backward()
    optimizer.step()
0/5 lessons
PART 5
Beginner
AI Search and Answer Engines

How AI answer engines actually work, and how to sanity-check what they tell you

0/5 lessons
PART 6
Intermediate
LLMs & Retrieval-Augmented Generation

Give your language model a memory it can actually trust.

python
query_vector = embed("What's our refund policy?")
top_chunks = vector_db.search(query_vector, k=4)
context = "\n\n".join(chunk.text for chunk in top_chunks)
prompt = f"Answer using only this context:\n{context}\n\nQuestion: {query}"
answer = llm.generate(prompt)
0/4 lessons
PART 7
Intermediate
Vector Databases & Embeddings

Turn meaning into numbers, then build a system fast enough to search billions of them.

python
import numpy as np

def cosine_similarity(a, b):
    a, b = np.array(a), np.array(b)
    return np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

# Two sentences with related meaning should land close in vector space
vec_dog = embed_model.encode("the dog ran across the yard")
vec_puppy = embed_model.encode("a puppy sprinted through the grass")
vec_stock = embed_model.encode("quarterly earnings exceeded forecasts")

print(cosine_similarity(vec_dog, vec_puppy))  # high, close in meaning
print(cosine_similarity(vec_dog, vec_stock))  # low, unrelated topics
0/5 lessons
PART 8
Advanced
The RAG Problem Nobody Demos: Permissions

Every enterprise retrieval pilot dies at the same question: can this answer show that document to that person?

0/3 lessons

Generative & Multimodal AI

6-part guided track
PART 1
Intermediate
Generative AI: Image, Video & Diffusion Models

Learn how machines dream up pixels from noise.

text
A moody cyberpunk alley at night, neon signs reflecting on wet asphalt,
a lone figure in a translucent raincoat walking away from camera,
volumetric fog, cinematic lighting, shot on 35mm film, shallow depth of field
--ar 16:9 --style raw
0/5 lessons
PART 2
Intermediate
Text-to-Video AI Models: How They Actually Work

Why turning words into moving pictures is a much harder problem than it looks.

0/5 lessons
PART 3
Beginner
AI Image Generation: A Practical Guide

How to actually get the image you want, and know when not to trust it.

0/5 lessons
PART 4
Advanced
Voice AI & Real-Time Conversational Agents

Speech recognition and a chat agent are the easy part. Making it feel like a real conversation is the hard part.

text
User audio -> streaming ASR -> partial transcript
                                        |
                                        v
                              LLM starts generating
                              on partial/final text
                                        |
                                        v
                         streaming TTS synthesizes
                         audio as tokens arrive
                                        |
                                        v
                              audio playback begins
                         before the full reply exists

Each arrow is a latency contributor. In text chat, only
the LLM step is visible to the user. In voice, all four
stages sit on the critical path between 'user stops
talking' and 'user hears a response.'
0/5 lessons
PART 5
Intermediate
Real-Time Voice AI and Voice Agents

Why a natural-sounding conversation with an AI is harder to build than it sounds.

0/5 lessons
PART 6
Beginner
Selling AI Video Production

AI video specialists are among the fastest-growing freelance categories, and most of the money is in ad variants.

0/3 lessons

AI Hardware & Efficient Models

5-part guided track
PART 1
Beginner
AI Hardware: GPUs, TPUs, and the Chips Behind the Boom

The physical layer underneath the AI boom, explained without a hardware degree.

0/6 lessons
PART 2
Intermediate
Edge AI & On-Device Machine Learning

The cloud isn't always there. Learn to make models run in your pocket, not just in a data center.

0/5 lessons
PART 3
Advanced
Model Compression & Quantization

The actual arithmetic and algorithms behind making a model smaller, faster, and (almost) as accurate.

python
# Symmetric per-channel quantization of a weight tensor
# scale is computed independently for each output channel
import numpy as np

def quantize_per_channel(weights, num_bits=8):
    qmax = 2 ** (num_bits - 1) - 1  # 127 for int8
    scales = np.max(np.abs(weights), axis=1, keepdims=True) / qmax
    scales[scales == 0] = 1e-8  # avoid divide by zero on dead channels
    q_weights = np.round(weights / scales).clip(-qmax - 1, qmax)
    return q_weights.astype(np.int8), scales

def dequantize(q_weights, scales):
    return q_weights.astype(np.float32) * scales
0/5 lessons
PART 4
Intermediate
Where to Actually Rent a GPU

The price difference between GPU providers for the same card is large enough to be a business decision.

0/3 lessons
PART 5
Intermediate
2,070 TFLOPS on a Robot's Back

Jetson Thor puts data-centre-class inference inside a humanoid's torso, and then the thermal engineering starts.

0/3 lessons

What AI Actually Costs to Run

6-part guided track
PART 1
Advanced
Cost Per Million Tokens

Inference passed training as the biggest driver of GPU demand, and serving economics became an engineering discipline.

0/3 lessons
PART 2
Intermediate
What Your Agent Costs Per Task

Agentic projects get cancelled for cost far more often than for capability. Most teams never compute the per-task number.

0/3 lessons
PART 3
Intermediate
Where to Actually Rent a GPU

The price difference between GPU providers for the same card is large enough to be a business decision.

0/3 lessons
PART 4
Beginner
Who Pays for the AI Buildout

AI's compute demand is now an electricity story, and the electricity story is turning into a politics story.

0/3 lessons
PART 5
Advanced
When Fine-Tuning Actually Beats Prompting

LLM fine-tuning is on every in-demand skills list, and it is the wrong answer to most problems it is applied to.

0/3 lessons
PART 6
Intermediate
The 40% Problem

Gartner thinks most agentic AI projects will be killed before they ship. The reasons are boringly predictable and mostly avoidable.

0/3 lessons

Getting Hired in AI

8-part guided track
PART 1
Intermediate
The Forward Deployed Engineer Boom

The fastest-growing job title in AI is a consultant who ships code, and it pays like a staff engineer.

0/3 lessons
PART 2
Intermediate
Eval Suites Are the New Résumé

AI Evals Engineer became a real job title in 2026, and the hiring signal is a repo, not a degree.

0/3 lessons
PART 3
Advanced
The Job Nobody Can Fill: ML Platform

MLOps, Kubernetes and distributed systems appear in hundreds of listings and are chronically under-supplied.

0/3 lessons
PART 4
Advanced
Getting Paid to Break Models

Only 14 percent of organisations think they have the AI security talent they need. That gap is a salary.

0/3 lessons
PART 5
Beginner
AWS AI Practitioner vs Azure AI-102

Two credentials show up in more job postings than all the others combined. Pick the right one for your market.

0/3 lessons
PART 6
Advanced
The Distributed Training Interview

Distributed systems appears in over 1,500 AI job listings, and most candidates cannot explain why their job needs eight GPUs.

0/3 lessons
PART 7
Beginner
The SQL Round You Will Fail

Python and SQL are table stakes in nearly every AI job posting, and SQL is where competent candidates get cut.

0/3 lessons
PART 8
Beginner
Portfolio Projects That Get Callbacks

FDE, AI engineer, evals and context roles hire on delivery evidence. Most portfolios are tutorials with a new colour scheme.

0/3 lessons

AI Services People Pay For

6-part guided track
PART 1
Beginner
The n8n Automation Agency Playbook

Small businesses will pay $2,000 for a workflow you can build in two days. Here is the whole business.

0/3 lessons
PART 2
Intermediate
The Boring Pipeline That Prints Money

Turning messy PDFs into clean structured data is the least glamorous AI project and the most consistently funded.

0/3 lessons
PART 3
Intermediate
Selling AI to Lawyers Without Getting Sued

Legal teams have budget, painful volume work, and the lowest tolerance for a confident wrong answer in any industry.

0/3 lessons
PART 4
Intermediate
Ambient Scribes and the Clinician's Keyboard

Ambient documentation is the first AI product hospitals bought at scale, and the engineering behind it is specific.

0/3 lessons
PART 5
Advanced
The RAG Problem Nobody Demos: Permissions

Every enterprise retrieval pilot dies at the same question: can this answer show that document to that person?

0/3 lessons
PART 6
Beginner
Selling AI Video Production

AI video specialists are among the fastest-growing freelance categories, and most of the money is in ad variants.

0/3 lessons

AI on Trial: Copyright, Law & Regulation

6-part guided track
PART 1
Beginner
$1.5 Billion for 500,000 Books

Training on copyrighted books can be fair use. Downloading them from a pirate site is a separate and very expensive question.

0/3 lessons
PART 2
Intermediate
Thirty-Five Publishers and a Lyrics Problem

The books case settled. The music case is different in ways that matter, and it is being litigated right now.

0/3 lessons
PART 3
Intermediate
The AI Act Deadline That Moved (And the Ones That Didn't)

Europe delayed its high-risk AI rules by sixteen months. Assuming the whole Act slipped is how teams get caught out.

0/3 lessons
PART 4
Beginner
A Bill to Ban Superintelligence

Sanders and Casar introduced a bill with a corporate death penalty and 20-year prison terms, for a thing nobody can define.

0/3 lessons
PART 5
Intermediate
Risk Reports Every Six Months

Anthropic rewrote its Responsible Scaling Policy in February 2026. The interesting part is not the thresholds, it's the reporting obligations it created.

0/3 lessons
PART 6
Intermediate
AI Governance & Regulation

The law and policy landscape builders actually have to design around.

0/6 lessons

AI Career, Business & Society

13-part guided track
PART 1
Beginner
Building a Career in AI

How to actually get in, get paid, and build something real

0/6 lessons
PART 2
Beginner
Freelancing and Monetizing Your AI Skills

Turn practical AI ability into actual paid work, priced honestly.

0/5 lessons
PART 3
Beginner
AI Implementation & Strategy for Business

Make good AI decisions for your organization without writing a line of code.

0/5 lessons
PART 4
Beginner
Is AI Replacing Jobs? The Real Data

What actually happens when a general-purpose technology hits the labor market, no hype, no doom.

0/6 lessons
PART 5
Intermediate
AI Governance & Regulation

The law and policy landscape builders actually have to design around.

0/6 lessons
PART 6
Beginner
The State of AI: 2026 Landscape

A working mental map of the AI industry, not another hype cycle.

0/6 lessons
PART 7
Beginner
No-Code AI Tools for Builders

Build real AI-powered things without writing a line of code.

0/6 lessons
PART 8
Beginner
AI Capabilities and Limitations: Building the Right Mental Model

An honest picture of what these models actually do

0/5 lessons
PART 9
Advanced
AI for Finance & Trading

Where machine learning meets money, and the stakes for getting it wrong are real.

0/5 lessons
PART 10
Intermediate
The Forward Deployed Engineer Boom

The fastest-growing job title in AI is a consultant who ships code, and it pays like a staff engineer.

0/3 lessons
PART 11
Beginner
Portfolio Projects That Get Callbacks

FDE, AI engineer, evals and context roles hire on delivery evidence. Most portfolios are tutorials with a new colour scheme.

0/3 lessons
PART 12
Beginner
The n8n Automation Agency Playbook

Small businesses will pay $2,000 for a workflow you can build in two days. Here is the whole business.

0/3 lessons
PART 13
Beginner
Who Pays for the AI Buildout

AI's compute demand is now an electricity story, and the electricity story is turning into a politics story.

0/3 lessons

AI x Web3

2-part guided track
PART 1
Advanced
AI × Web3

Where autonomous agents meet programmable money.

solidity
function payAgent(address agent, uint task) external {
  require(oracle.verify(task), "unverified work");
  token.transfer(agent, bounty[task]);
}
0/4 lessons
PART 2
Intermediate
AI and Crypto: Practical Projects You Can Actually Build

The hands-on companion to AI x Web3, three real projects and the building blocks behind them.

0/6 lessons

Robot Control & Dynamics

9-part guided track
PART 1
Intermediate
Robot Dynamics & Control Theory

Forces, torques, and the feedback loops that turn a plan into real motion.

text
# Open-loop: trust the plan, never check reality
for torque_command in precomputed_torque_sequence:
    send_to_motor(torque_command)
    wait(dt)
# If friction, an unexpected bump, or a bad mass estimate
# throws things off, nothing here will ever notice or correct it.

# Closed-loop: sense, compare, correct, repeat
while not at_target:
    actual_state = read_sensors()          # where is the joint really?
    error = desired_state - actual_state   # how far off are we?
    correction = compute_correction(error) # controller decides the fix
    torque_command = feedforward_torque + correction
    send_to_motor(torque_command)
    wait(dt)
0/5 lessons
PART 2
Intermediate
PID & Feedback Control Systems

The three-term algorithm that quietly runs almost every motor, joint, and drone in the world.

python
# Simplified PID control loop, runs many times per second
integral = 0
previous_error = 0

def pid_step(setpoint, measured_value, dt, kp, ki, kd):
    global integral, previous_error

    error = setpoint - measured_value

    P = kp * error

    integral += error * dt
    I = ki * integral

    derivative = (error - previous_error) / dt
    D = kd * derivative

    previous_error = error

    correction = P + I + D
    return correction
0/5 lessons
PART 3
Advanced
Motion Planning & Trajectory Optimization

Knowing where a robot should go is easy. Deciding exactly how it gets there is the hard part.

python
# Simplified core loop of a sampling-based planner (RRT-style)
tree = Tree(root=start_config)

while not tree.contains(goal_config):
    random_config = sample_random_config(space)
    nearest = tree.nearest_neighbor(random_config)
    new_config = step_towards(nearest, random_config, max_step)

    if is_collision_free(nearest, new_config):
        tree.add_edge(nearest, new_config)

    if close_enough(new_config, goal_config):
        break

path = tree.trace_path_to(goal_config)
0/5 lessons
PART 4
Advanced
Legged Robot Locomotion

Teach a machine to fall forward on purpose, over and over, without ever hitting the ground.

text
loop at high frequency (e.g. every 1-4 ms):
    state = read_sensors()               # IMU, joint encoders, foot contact
    com_xy = estimate_com_projection(state)
    support_polygon = compute_support_polygon(state.contact_feet)

    if com_xy inside support_polygon:
        margin = distance_to_nearest_edge(com_xy, support_polygon)
        if margin > safety_threshold:
            hold_current_gait_trajectory()
        else:
            nudge_next_footstep(toward = center_of(support_polygon))
    else:
        # dynamically unstable moment, must catch it, not just log it
        correction = compute_capture_step(state.com_velocity, support_polygon)
        command_swing_leg(correction)      # place foot to rebuild support under COM

    apply_joint_torques(state, target = corrected_trajectory)
0/5 lessons
PART 5
Intermediate
Model Predictive Control for Robots

Plan a few steps ahead, act on the first one, then do it all again

0/5 lessons
PART 6
Intermediate
Robot Kinematics & Motion

Figure out where a robot's joints need to go, and how to get them there smoothly.

python
joint_angles = inverse_kinematics(target_xyz=(0.4, 0.1, 0.3))
for angle, limit in zip(joint_angles, joint_limits):
    if abs(angle) > limit:
        raise MotionError('Target unreachable within joint limits')
arm.move_to(joint_angles)
0/4 lessons
PART 7
Advanced
Underactuated Robotics

When a robot has fewer motors than it has ways to move, physics has to do some of the driving.

0/6 lessons
PART 8
Intermediate
Behavior Trees for Robot Control

Give your robot a brain it can actually reason about when things go wrong.

0/5 lessons
PART 9
Intermediate
Robot Spatial Math & Transformations

The hidden math every robot silently depends on to know where it is and which way it's facing.

0/5 lessons

Perception & Autonomy

12-part guided track
PART 1
Advanced
Robot Localization

Given a map, figure out exactly where you are, one noisy sensor reading at a time.

python
# Simplified particle filter localization loop
  def particle_filter_step(particles, weights, motion_cmd, sensor_scan, known_map):
      # 1. PREDICT: move every particle by the commanded motion,
      #    plus a little random noise, since motion is never exact
      for p in particles:
          p.pose = apply_motion(p.pose, motion_cmd, noise=motion_noise())
  
      # 2. UPDATE: score each particle by how well its predicted
      #    sensor reading matches what the real sensor just saw
      for i, p in enumerate(particles):
          expected_scan = simulate_sensor(p.pose, known_map)
          weights[i] = measurement_likelihood(sensor_scan, expected_scan)
  
      weights = normalize(weights)
  
      # 3. RESAMPLE: keep particles proportional to their weight,
      #    good matches survive and multiply, bad ones die out
      particles = resample(particles, weights)
  
      belief_estimate = weighted_mean(particles, weights)
      return particles, belief_estimate
0/5 lessons
PART 2
Advanced
Path Planning & Obstacle Avoidance

The fast, reactive layer that keeps a moving robot from hitting the thing it didn't see coming.

python
# Simplified dynamic window approach: score candidate velocities
  def dynamic_window_approach(robot, obstacles, goal, dt=0.1, horizon=1.5):
      best_score = -float("inf")
      best_v, best_w = 0.0, 0.0
  
      # Only consider velocities reachable given current speed + accel limits
      for v in reachable_linear_velocities(robot):
          for w in reachable_angular_velocities(robot):
              path = simulate_forward(robot, v, w, dt, horizon)
  
              if collides(path, obstacles):
                  continue  # not physically safe, discard immediately
  
              clearance = min_distance_to_obstacles(path, obstacles)
              progress = heading_alignment(path, goal)
              speed = v  # mild preference for not crawling
  
              score = 0.5 * progress + 0.3 * clearance + 0.2 * speed
  
              if score > best_score:
                  best_score = score
                  best_v, best_w = v, w
  
      return best_v, best_w  # re-run this whole search again next tick
0/5 lessons
PART 3
Advanced
Swarm Robotics & Multi-Robot Systems

One robot is a controller problem. Many robots is a coordination problem.

python
# Simplified flocking rule for one robot in a swarm
  # Runs locally on every robot, using only nearby neighbors
  
  def compute_steering(self, neighbors):
      if not neighbors:
          return self.current_heading
  
      # Rule 1: move toward the average position of nearby neighbors
      avg_position = average([n.position for n in neighbors])
      cohesion_vector = avg_position - self.position
  
      # Rule 2: steer away from anything too close
      separation_vector = vector(0, 0)
      for n in neighbors:
          distance = dist(self.position, n.position)
          if distance < MIN_SAFE_DISTANCE:
              separation_vector += (self.position - n.position) / distance
  
      # Combine both rules, no global plan or central coordinator involved
      return normalize(cohesion_vector * 0.5 + separation_vector * 1.5)
0/5 lessons
PART 4
Advanced
Reinforcement Learning for Robot Control

Stop hand-writing the control law and let the robot learn one through trial and error.

text
policy = initialize_random_policy()
  
  for episode in range(num_episodes):
      state = env.reset()
      done = False
  
      while not done:
          action = policy(state)              # choose action from current policy
          next_state, reward, done = env.step(action)  # act in the environment
  
          buffer.store(state, action, reward, next_state)
          state = next_state
  
      policy = update_policy(policy, buffer)  # nudge policy toward higher-reward actions
  
  # after enough episodes, policy has learned a control strategy
  # purely from experience, with no hand-written control law
0/5 lessons
PART 5
Beginner
Robot Sensors & Perception

Give a robot eyes, ears, and a sense of touch, then watch it make sense of the world.

python
distance_cm = ultrasonic.read()
if distance_cm < 15:
    robot.stop()
else:
    robot.move_forward()
0/4 lessons
PART 6
Advanced
Autonomous Navigation & SLAM

Solve the chicken-and-egg problem of building a map while figuring out where you are on it.

python
belief = init_particle_filter(n_particles=500)
while robot.running():
    belief = predict(belief, robot.odometry())
    belief = update(belief, robot.sensor_scan(), occupancy_map)
    pose_estimate = belief.weighted_mean()
    occupancy_map = integrate_scan(occupancy_map, robot.sensor_scan(), pose_estimate)
0/4 lessons
PART 7
Advanced
Robot Simulation & Sim-to-Real Transfer

Build the world before you build the robot, then teach the robot to survive leaving it.

0/5 lessons
PART 8
Advanced
Visual Servoing

Close the loop between camera and motor, and let the robot correct itself in real time.

0/5 lessons
PART 9
Advanced
Autonomous Vehicles & Self-Driving Systems

Inside the sense, predict, and act pipeline that lets a car drive itself.

0/6 lessons
PART 10
Beginner
Robotaxis Hit the Freeway

Fourteen cities, airport access, and highway driving — the year autonomy stopped being a geofenced curiosity.

0/3 lessons
PART 11
Intermediate
No Steering Wheel, No Problem?

Tesla started charging for Cybercab rides in Austin on September 3, 2026. NHTSA opened an audit the same day, and the question is who gets to decide which rules apply.

0/3 lessons
PART 12
Advanced
The Perception Engineer Interview

Specialised robotics roles sit open for an average of 114 days. The interviews are hard for specific, learnable reasons.

0/3 lessons

Robot Manipulation, Vision & Learning

12-part guided track
PART 1
Intermediate
Robot Manipulation & Grasping

The hardest part of robotics isn't moving an arm, it's getting it to actually hold something.

text
PERCEPTION-TO-GRASP PIPELINE

  camera / depth sensor
        |
        v
  segmentation  ->  isolate target object from clutter
        |
        v
  pose estimation  ->  where is it, which way is it facing
        |
        v
  grasp candidate generation  ->  many possible grip points
        |
        v
  grasp scoring  ->  rank by force closure, stability, reachability
        |
        v
  execute + verify  ->  did we actually get it, retry if not
0/5 lessons
PART 2
Advanced
Dexterous Manipulation and Robot Hands

Why grabbing things well is still the hardest part of robotics.

0/5 lessons
PART 3
Intermediate
Tactile Sensing and Force Feedback in Robotics

Teaching robots to actually feel what they're touching.

0/5 lessons
PART 4
Intermediate
Robot Learning from Demonstration

Teaching robots by showing, not coding.

0/6 lessons
PART 5
Advanced
Imitation Learning & Learning from Demonstration

Skip the reward function. Just show the robot what to do.

python
# Behavioral cloning: supervised learning over (state, action) pairs
  # collected from expert demonstrations
  
  import torch.nn as nn
  
  policy = nn.Sequential(
      nn.Linear(state_dim, 256), nn.ReLU(),
      nn.Linear(256, 256), nn.ReLU(),
      nn.Linear(256, action_dim),
  )
  
  # states, actions come from logged expert trajectories,
  # not from the policy's own rollouts
  for states, actions in expert_dataloader:
      predicted = policy(states)
      loss = mse_loss(predicted, actions)
      loss.backward()
      optimizer.step()
  
  # DAgger's key change: periodically roll out policy itself,
  # ask the expert to label the states it visited, and add those
  # labeled states back into the training set before the next round
0/5 lessons
PART 6
Advanced
Diffusion Models for Robot Control

Teaching a robot arm to plan its next move by unlearning noise

0/5 lessons
PART 7
Advanced
Vision-Language-Action Models: How Robots Learn to See, Think, and Act

One model, camera in, motor commands out.

0/5 lessons
PART 8
Intermediate
Robot Vision: Hands-On with Cameras

You know the theory. Now get a camera actually working on a robot.

0/5 lessons
PART 9
Advanced
Physical AI: Foundation Models for Robots

Robots that learn from data instead of being programmed one behavior at a time.

python
# Simplified VLA inference loop running on a humanoid robot
while task_active:
    image = camera.capture()          # current visual observation
    state = robot.proprioception()    # joint angles, velocities, torques

    # single forward pass: perception + language + action in one model
    action_chunk = vla_model.predict(
        image=image,
        instruction="pick up the red mug and place it on the shelf",
        proprio=state,
    )

    for action in action_chunk:       # execute a short horizon of actions
        robot.apply_joint_targets(action)
        if safety_monitor.violation_detected():
            robot.freeze()
            break
0/5 lessons
PART 10
Intermediate
Robotic Grippers & End-of-Arm Tooling

The part of the robot that actually touches the world, and why picking the right one matters as much as any algorithm.

0/5 lessons
PART 11
Advanced
Haptics & Teleoperation

Give a remote operator a real sense of touch, and a robot the judgment to know when to act on its own.

0/5 lessons
PART 12
Advanced
XR & VR Teleoperation

Put on a headset, pick up the controllers, and become the robot.

0/5 lessons

Robot Brains: Onboard Compute & Foundation Stacks

7-part guided track
PART 1
Intermediate
2,070 TFLOPS on a Robot's Back

Jetson Thor puts data-centre-class inference inside a humanoid's torso, and then the thermal engineering starts.

0/3 lessons
PART 2
Intermediate
The Android of Robotics

NVIDIA doesn't want to sell you a robot. It wants every robot to run its stack.

0/3 lessons
PART 3
Advanced
Isaac Sim and the Synthetic Data Job

Isaac Sim appears in roughly 30 percent of AI engineer postings at hardware-adjacent companies. That is not an accident.

0/3 lessons
PART 4
Beginner
Teleoperation Became a Hiring Category

Robot foundation models need demonstration data, and someone has to physically produce it. That someone gets paid.

0/3 lessons
PART 5
Advanced
Physical AI: Foundation Models for Robots

Robots that learn from data instead of being programmed one behavior at a time.

python
# Simplified VLA inference loop running on a humanoid robot
while task_active:
    image = camera.capture()          # current visual observation
    state = robot.proprioception()    # joint angles, velocities, torques

    # single forward pass: perception + language + action in one model
    action_chunk = vla_model.predict(
        image=image,
        instruction="pick up the red mug and place it on the shelf",
        proprio=state,
    )

    for action in action_chunk:       # execute a short horizon of actions
        robot.apply_joint_targets(action)
        if safety_monitor.violation_detected():
            robot.freeze()
            break
0/5 lessons
PART 6
Advanced
Vision-Language-Action Models: How Robots Learn to See, Think, and Act

One model, camera in, motor commands out.

0/5 lessons
PART 7
Intermediate
The Robot Training Data Economy

Robots don't just need better models. They need something harder to get: real physical demonstrations of doing things right.

0/5 lessons

Specialized Robotics Applications

5-part guided track
PART 1
Advanced
Medical & Surgical Robotics

Where a millimeter of error is not an engineering footnote, it's the whole story.

python
# Simplified motion-scaling and tremor-filter pipeline
  # between a surgeon's console input and an instrument tip
  
  def process_input(raw_position, prev_filtered, scale_factor=0.2, alpha=0.15):
      # Low-pass filter to attenuate high-frequency hand tremor
      # (tremor is fast; intentional motion is comparatively slow)
      filtered = alpha * raw_position + (1 - alpha) * prev_filtered
  
      # Motion scaling: large hand movement at the console becomes
      # a small, precise movement at the instrument tip
      scaled_delta = (filtered - prev_filtered) * scale_factor
  
      target_position = prev_filtered_output + scaled_delta
      return target_position, filtered
0/5 lessons
PART 2
Intermediate
Agricultural Robotics

Robots that have to make decisions about a million individual, uncooperative living things.

0/5 lessons
PART 3
Advanced
Underwater & Marine Robotics

No GPS, no radio, no light. Every assumption you built elsewhere breaks the moment the vehicle submerges.

0/5 lessons
PART 4
Advanced
Space Robotics

No repair trucks, no do-overs, minutes of radio silence between every question and answer.

0/5 lessons
PART 5
Intermediate
Bio-Inspired & Soft Robotics

Nature already solved these engineering problems, soft robots borrow the blueprints.

0/5 lessons

Humanoid & Home Robotics

12-part guided track
PART 1
Intermediate
Humanoid Robotics

The hardest form factor in robotics, built to move through a world made for us.

0/4 lessons
PART 2
Beginner
The Humanoid Robot Race: Companies to Watch

Who's actually building humanoid robots for money, and who's just filming demos

0/6 lessons
PART 3
Beginner
The Global Humanoid Robotics Map: Beyond Boston Dynamics and Tesla

The humanoid race isn't a two-company American story, it's a global one

0/5 lessons
PART 4
Beginner
Wheeled vs. Bipedal Humanoids: The Real Design Tradeoffs

Why some humanoid robots roll instead of walk, and why that's often the smarter call.

0/5 lessons
PART 5
Beginner
Home Robots: The New Domestic Wave

Humanoids are moving out of the factory and into the living room.

0/5 lessons
PART 6
Advanced
Cognitive Robotics and Embodied AI

Why a body might be the missing piece of general intelligence.

0/5 lessons
PART 7
Intermediate
Human-Robot Interaction

A robot can be mechanically flawless and still make people around it uneasy. This course is about closing that gap.

0/5 lessons
PART 8
Beginner
A Stranger Can See Your Living Room

1X's NEO costs $20,000 and is 60 to 70 percent autonomous. The other 30 percent is a person watching through its eyes.

0/3 lessons
PART 9
Beginner
China's Humanoid Machine

XPENG raised over $900 million at a $6.3 billion valuation for its robot arm of the business. That's one round, in one country, in one year.

0/3 lessons
PART 10
Intermediate
Eleven Months at a BMW Plant

Figure ran a humanoid in a real car plant for nearly a year. That's a more interesting data point than any demo video.

0/3 lessons
PART 11
Intermediate
Does a Humanoid Pay for Itself?

The only question a plant manager actually asks, and the one robotics marketing works hardest to avoid.

0/3 lessons
PART 12
Intermediate
Why Robot Demos Lie

Every impressive robot video is a survivor. Learning to see the takes that didn't ship is a skill worth having.

0/3 lessons

Robotics in Industry & Business

18-part guided track
PART 1
Advanced
Robotics in Industry & Automation

Where automation actually pays off, and where the hype still outruns the economics.

0/4 lessons
PART 2
Intermediate
Industrial Robot Deployment: Real Case Studies

What it actually takes to get a robot from demo day to the factory floor.

0/5 lessons
PART 3
Intermediate
Collaborative Robots: Deploying Cobots on the Factory Floor

What cobots actually are, and how real deployments succeed or fail

0/5 lessons
PART 4
Intermediate
Robot Fleet Management: Orchestrating an Army of Machines

One robot is a demo. A hundred robots is a software problem.

0/5 lessons
PART 5
Intermediate
Warehouse & Logistics Robotics

Dozens of independent robots, one shared floor, and no room for gridlock.

0/5 lessons
PART 6
Beginner
The Robotics Supply Chain and Component Ecosystem

The unglamorous parts industry that actually decides what robots can do.

0/5 lessons
PART 7
Beginner
The Robotics Venture and Investment Landscape

How money actually moves into robotics companies.

0/5 lessons
PART 8
Beginner
Robotics Ethics, Economics, and Policy

The questions robots raise that software alone never had to answer.

0/5 lessons
PART 9
Beginner
Building a Career or Venture in Robotics

How to actually get in, get paid, and build something real

0/6 lessons
PART 10
Beginner
Robotics Career Paths: Building a Hands-On Portfolio

In robotics, a working project beats a well-written resume line.

0/5 lessons
PART 11
Beginner
The State of Robotics: 2026 Landscape

A grounded map of where robots actually work today, and where the hype gets ahead of them.

0/6 lessons
PART 12
Advanced
Functional Safety & Robot Certification Standards

Turning 'we think it's safe' into a claim you can actually prove.

0/5 lessons
PART 13
Intermediate
Robot Safety Standards: ISO 10218, ISO/TS 15066 & Beyond

A robot is a physical system that can hurt someone, and the standards world takes that seriously.

0/6 lessons
PART 14
Intermediate
Digital Twins for Robotics

Not a rehearsal environment, a living mirror of one specific machine, updated in near-real-time for as long as it runs.

0/5 lessons
PART 15
Advanced
Agentic Robot Operating Systems

Give an AI agent a body, safely, without giving it a way to hurt anyone.

0/5 lessons
PART 16
Intermediate
Does a Humanoid Pay for Itself?

The only question a plant manager actually asks, and the one robotics marketing works hardest to avoid.

0/3 lessons
PART 17
Intermediate
Selling Robots Without Overselling Them

Robotics sales engineers earn well because most robotics people cannot talk to customers and most salespeople cannot scope a cell.

0/3 lessons
PART 18
Advanced
Starting a Robot Integration Business

Integrators are the channel every robot reaches a factory through, and there are not enough of them.

0/3 lessons

Robot Integration & Commissioning

6-part guided track
PART 1
Intermediate
The PLC Is Still in Charge

Every robot on a factory floor is a peripheral to a programmable logic controller, and integrators cannot hire enough people who know both.

0/3 lessons
PART 2
Intermediate
Programming Robots Without Stopping the Line

Every hour a production robot is taught by hand is an hour it is not producing. Offline programming is that hour back.

0/3 lessons
PART 3
Intermediate
Commissioning: The Weeks That Decide the Project

Warehouse automation projects are won in sales and lost in commissioning. The people who can finish them are scarce.

0/3 lessons
PART 4
Beginner
The Site Survey That Decides the Deployment

Most failed service robot deployments were doomed by the building, and a two-hour survey would have found it.

0/3 lessons
PART 5
Intermediate
The ROS 1 Migration Nobody Budgeted For

ROS 2 Jazzy and Humble dominate new programs in 2026, and a lot of working robots are still on ROS 1.

0/3 lessons
PART 6
Beginner
The Robot Wrangler Job

Fleet operations technician pays $53K–$91K, needs no degree, and exists because robots break in boring ways.

0/3 lessons

The Robotics Job Market

7-part guided track
PART 1
Beginner
The Robot Wrangler Job

Fleet operations technician pays $53K–$91K, needs no degree, and exists because robots break in boring ways.

0/3 lessons
PART 2
Advanced
The Perception Engineer Interview

Specialised robotics roles sit open for an average of 114 days. The interviews are hard for specific, learnable reasons.

0/3 lessons
PART 3
Beginner
Teleoperation Became a Hiring Category

Robot foundation models need demonstration data, and someone has to physically produce it. That someone gets paid.

0/3 lessons
PART 4
Advanced
Isaac Sim and the Synthetic Data Job

Isaac Sim appears in roughly 30 percent of AI engineer postings at hardware-adjacent companies. That is not an accident.

0/3 lessons
PART 5
Intermediate
Selling Robots Without Overselling Them

Robotics sales engineers earn well because most robotics people cannot talk to customers and most salespeople cannot scope a cell.

0/3 lessons
PART 6
Advanced
Starting a Robot Integration Business

Integrators are the channel every robot reaches a factory through, and there are not enough of them.

0/3 lessons
PART 7
Intermediate
The ROS 1 Migration Nobody Budgeted For

ROS 2 Jazzy and Humble dominate new programs in 2026, and a lot of working robots are still on ROS 1.

0/3 lessons

Robotics Hands-On Starter Kit

11-part guided track
PART 1
Intermediate
Building Your First Robot: End-to-End Project

Stop reading about robots. Wire one up, make it move, and fix it when it doesn't.

cpp
// Minimal obstacle-avoidance control loop for a differential-drive rover
  const int TRIG_PIN = 9, ECHO_PIN = 10;
  const int LEFT_PWM = 5, LEFT_DIR = 4, RIGHT_PWM = 6, RIGHT_DIR = 7;
  const int STOP_DISTANCE_CM = 20;
  
  long readDistanceCm() {
    digitalWrite(TRIG_PIN, LOW); delayMicroseconds(2);
    digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10);
    digitalWrite(TRIG_PIN, LOW);
    long duration = pulseIn(ECHO_PIN, HIGH, 30000); // 30ms timeout
    if (duration == 0) return 999; // no echo, treat as clear
    return duration / 58;
  }
  
  void driveMotors(int leftSpeed, int rightSpeed) {
    digitalWrite(LEFT_DIR, leftSpeed >= 0 ? HIGH : LOW);
    digitalWrite(RIGHT_DIR, rightSpeed >= 0 ? HIGH : LOW);
    analogWrite(LEFT_PWM, abs(leftSpeed));
    analogWrite(RIGHT_PWM, abs(rightSpeed));
  }
  
  void loop() {
    long distance = readDistanceCm();
    if (distance < STOP_DISTANCE_CM) {
      driveMotors(-120, 120); // pivot in place to find clear space
      delay(300);
    } else {
      driveMotors(150, 150); // drive forward
    }
    delay(50); // loop pacing, not a real-time guarantee
  }
0/5 lessons
PART 2
Beginner
Building Your Second Robot: A Guided Project

Your first robot moved. This one has to think.

0/5 lessons
PART 3
Beginner
Arduino and Microcontroller Robotics Projects

The cheapest, friendliest way into real robotics hardware.

0/5 lessons
PART 4
Intermediate
ROS 2 Hands-On: A Project-Based Path

You know what a node is. Now build one that actually does something.

0/5 lessons
PART 5
Intermediate
Introduction to ROS

Learn the wiring layer that lets robot software components actually talk to each other.

python
def image_callback(msg):
    detections = detect_objects(msg)
    detection_pub.publish(detections)

rospy.Subscriber('/camera/image', Image, image_callback)
detection_pub = rospy.Publisher('/detections', Detections, queue_size=10)
0/4 lessons
PART 6
Beginner
CAD & Mechanical Design for Robotics

Every robot starts on a screen, long before it moves an inch.

0/5 lessons
PART 7
Advanced
Robot Actuators Deep Dive

Motors don't just spin, they trade off torque, speed, precision, and power in ways that decide whether your robot can even do its job.

python
# Simplified closed-loop velocity control for a geared DC motor
  def velocity_control_step(target_rpm, encoder_ticks, dt, gear_ratio, ticks_per_rev):
      measured_rpm = (encoder_ticks / ticks_per_rev) * (60 / dt) / gear_ratio
      error = target_rpm - measured_rpm
      integral_error += error * dt
      duty_cycle = clamp(Kp * error + Ki * integral_error, 0.0, 1.0)
      pwm_write(motor_channel, duty_cycle)
      return measured_rpm, duty_cycle
0/5 lessons
PART 8
Intermediate
Embedded Systems for Robotics

Underneath every clever behavior is a chip deciding, thousands of times a second, whether a motor spins.

c
// Bare-metal-style motor control loop on an MCU, fixed-rate, deterministic
  void control_loop_1kHz(void) {
      // Called from a hardware timer interrupt, exactly every 1ms
      int16_t target_rpm = read_latest_command();      // from SBC over UART/CAN
      int16_t actual_rpm = read_encoder_delta();        // from quadrature encoder
      int16_t error = target_rpm - actual_rpm;
  
      pid_state.integral += error;
      int16_t output = (Kp * error) + (Ki * pid_state.integral) - (Kd * pid_state.last_error);
      pid_state.last_error = error;
  
      if (limit_switch_triggered() || overcurrent_detected()) {
          set_pwm_duty(0);          // safety interlock overrides everything
      } else {
          set_pwm_duty(clamp(output, -MAX_DUTY, MAX_DUTY));
      }
  }
0/5 lessons
PART 9
Intermediate
Robot Power Systems & Battery Management

Every motor, sensor, and chip on your robot is only as reliable as the pack feeding it.

python
# Rough power budget check before committing to a battery pack
  def runtime_estimate(capacity_mAh, pack_voltage, loads_watts, safety_margin=0.8):
      total_watts = sum(loads_watts.values())
      pack_wh = (capacity_mAh / 1000) * pack_voltage
      usable_wh = pack_wh * safety_margin  # never plan to fully drain a LiPo
      hours = usable_wh / total_watts
      return hours * 60  # minutes of usable runtime
  
  loads = {"drive_motors": 45.0, "compute": 9.0, "sensors": 4.5, "servos": 6.0}
  print(runtime_estimate(4000, 11.1, loads))  # 3S 4000mAh pack, minutes
0/5 lessons
PART 10
Beginner
Robotics Competitions & Challenges

Where robots meet deadlines, and engineers get made fast.

0/5 lessons
PART 11
Intermediate
C++ for Robotics

The language robots trust when a missed millisecond means a missed command to real, moving hardware.

0/5 lessons

Drones & Aerial Robotics

4-part guided track
PART 1
Intermediate
Drones & Aerial Robotics

Four spinning rotors, a thousand corrections a second, and a machine that refuses to fall.

0/4 lessons
PART 2
Intermediate
Quadrotor Dynamics and Drone Flight Control

Four spinning propellers, no rudder, no elevator, and somehow it flies straight

0/5 lessons
PART 3
Intermediate
Part 108 and the End of Visual Line of Sight

The FAA's BVLOS rule reached final review in July 2026, and it changes what a drone business can charge for.

0/3 lessons
PART 4
Intermediate
The Spray Drone Business

Agricultural spraying is the drone application with the clearest revenue per acre and the most paperwork.

0/3 lessons

Bitcoin Mastery

8-part guided track
PART 1
Beginner
Bitcoin Fundamentals

Understand the money protocol that started it all, from first principles.

text
Transaction inputs:
  1.2 BTC (from a previous payment you received)

Transaction outputs:
  0.5 BTC -> recipient's address
  0.68 BTC -> change, back to you (minus a small fee)

The 1.2 BTC input is fully "spent" and can never be
reused. It splits into two new outputs, one of which
becomes a new spendable unit (a UTXO) sitting in your
wallet until you spend it again.
0/5 lessons
PART 2
Intermediate
Bitcoin: Under the Hood

Go past 'what is Bitcoin' and into how it actually works under load.

text
# A standard Pay-to-Pubkey-Hash (P2PKH) locking script
OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG

# To spend it, the unlocking script supplies:
<signature> <publicKey>

# The two scripts run together on Bitcoin's stack machine:
# 1. Push signature and public key onto the stack
# 2. Duplicate the public key, hash it, compare to pubKeyHash
# 3. If it matches, verify the signature against the public key
# No loops, no external calls, just a fixed sequence of stack ops.
0/5 lessons
PART 3
Advanced
Bitcoin Development in Rust

Stop reading about Bitcoin's protocol and start writing the software that runs it.

rust
use bitcoin::{Amount, Transaction, TxIn, TxOut, Sequence, Witness, ScriptBuf};
use bitcoin::transaction::Version;
use bitcoin::locktime::absolute::LockTime;
use bitcoin::{OutPoint, Txid};
use std::str::FromStr;

fn build_transaction() -> Transaction {
    let prev_txid =
        Txid::from_str("f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16")
            .expect("valid txid");

    let input = TxIn {
        previous_output: OutPoint::new(prev_txid, 0),
        script_sig: ScriptBuf::new(),
        sequence: Sequence::ENABLE_RBF_NO_LOCKTIME,
        witness: Witness::new(),
    };

    let recipient_script = ScriptBuf::new_p2wpkh(&"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2"
        .parse()
        .expect("valid pubkey hash"));

    let output = TxOut {
        value: Amount::from_sat(50_000),
        script_pubkey: recipient_script,
    };

    Transaction {
        version: Version::TWO,
        lock_time: LockTime::ZERO,
        input: vec![input],
        output: vec![output],
    }
}

fn main() {
    let tx = build_transaction();
    println!("txid: {}", tx.compute_txid());
    println!("weight: {} wu", tx.weight());
}
0/5 lessons
PART 4
Intermediate
Bitcoin Layer 2: Lightning Network and Beyond

Bitcoin was built slow on purpose. Here's what people built on top of it.

0/5 lessons
PART 5
Intermediate
Bitcoin Ordinals and Inscriptions

How digital artifacts ended up living directly on the Bitcoin blockchain.

0/5 lessons
PART 6
Intermediate
Bitcoin Mining: Economics and Hardware

What it actually costs to mine a block, and who can still afford to.

0/5 lessons
PART 7
Intermediate
The OP_RETURN Fight

A relay policy default changed, a fifth of the network switched node software, and everyone learned what "consensus" actually covers.

0/3 lessons
PART 8
Advanced
Bitcoin's Quantum Homework

BIP-360 gives Bitcoin a quantum-resistant address type. BIP-361 asks whether Satoshi's coins should be frozen.

0/3 lessons

Ethereum Mastery

6-part guided track
PART 1
Beginner
Ethereum Fundamentals

Bitcoin tracks who owns what. Ethereum runs programs nobody can stop.

solidity
// A minimal smart contract: stores a number, anyone can read it,
// only the owner who deployed it can change it.
contract SimpleStorage {
    uint256 public storedNumber;
    address public owner;

    constructor() {
        owner = msg.sender;
    }

    function setNumber(uint256 newNumber) public {
        require(msg.sender == owner, "Not the owner");
        storedNumber = newNumber;
    }
}
0/5 lessons
PART 2
Intermediate
Ethereum: Smart Contracts in Practice

Stop reading about smart contracts and start writing ones that hold real value safely.

solidity
// Vulnerable withdraw pattern vs. the checks-effects-interactions fix
contract VaultVulnerable {
    mapping(address => uint256) public balances;

    function deposit() external payable {
        balances[msg.sender] += msg.value;
    }

    // BAD: sends funds before updating the balance, opens a reentrancy hole
    function withdraw(uint256 amount) external {
        require(balances[msg.sender] >= amount, "insufficient balance");
        (bool sent, ) = msg.sender.call{value: amount}("");
        require(sent, "transfer failed");
        balances[msg.sender] -= amount; // too late, attacker already re-entered
    }
}

contract VaultFixed {
    mapping(address => uint256) public balances;

    function deposit() external payable {
        balances[msg.sender] += msg.value;
    }

    // GOOD: checks-effects-interactions, state is updated before the external call
    function withdraw(uint256 amount) external {
        require(balances[msg.sender] >= amount, "insufficient balance");
        balances[msg.sender] -= amount;
        (bool sent, ) = msg.sender.call{value: amount}("");
        require(sent, "transfer failed");
    }
}
0/5 lessons
PART 3
Advanced
Advanced Ethereum: Scaling, MEV & Account Abstraction

How Ethereum scales, who profits from your transaction order, and why your wallet is about to get a lot smarter.

solidity
struct UserOperation {
    address sender;          // the smart contract wallet
    uint256 nonce;
    bytes   initCode;        // deploys wallet if it doesn't exist yet
    bytes   callData;        // what the wallet should do
    uint256 callGasLimit;
    uint256 verificationGasLimit;
    uint256 preVerificationGas;
    uint256 maxFeePerGas;
    uint256 maxPriorityFeePerGas;
    bytes   paymasterAndData; // who pays, and how
    bytes   signature;
}

// A bundler collects UserOperations and calls this on the EntryPoint contract
function handleOps(UserOperation[] calldata ops, address payable beneficiary) external;
0/6 lessons
PART 4
Advanced
Account Abstraction and Smart Wallets

Turning your wallet into a program you can actually customize.

0/5 lessons
PART 5
Advanced
Glamsterdam: Ethereum's Biggest Rewrite Since the Merge

Ten EIPs, a nine-second execution window, and a path to a 200 million gas limit.

0/3 lessons
PART 6
Intermediate
Ethereum's Privacy HTTPS Moment

The Ethereum Foundation shipped an SDK so any wallet can add shielded transfers. The goal is boring, invisible privacy.

0/3 lessons

Solana & Base Ecosystems

5-part guided track
PART 1
Intermediate
Solana Fundamentals

A different machine entirely: accounts instead of contracts, a clock instead of just consensus, and threads instead of a queue.

rust
#[derive(Accounts)]
  pub struct UpdateCounter<'info> {
      #[account(mut)]
      pub counter: Account<'info, Counter>,
      pub authority: Signer<'info>,
  }
  
  pub fn increment(ctx: Context<UpdateCounter>) -> Result<()> {
      // The program itself holds no state.
      // It only ever operates on the accounts handed to it here.
      ctx.accounts.counter.count += 1;
      Ok(())
  }
0/5 lessons
PART 2
Intermediate
The Solana Ecosystem: Building and Understanding It

What's actually being built on Solana, and how to build it yourself.

0/5 lessons
PART 3
Intermediate
Base and the Coinbase L2 Ecosystem

A real, active layer-2 built by one of crypto's biggest exchanges.

0/5 lessons
PART 4
Advanced
Alpenglow: Solana Rips Out Proof of History

Twelve seconds to finality becomes 150 milliseconds, and 75 percent of block space stops being wasted on votes.

0/3 lessons
PART 5
Advanced
Rust Pays 15 Percent More. Here Is Why.

Solidity appears in over 40 percent of web3 postings, Rust in about 25 — and Rust roles pay a premium at every level.

0/3 lessons

Layer 2s, Scaling & Interoperability

5-part guided track
PART 1
Intermediate
Layer 2 Scaling

Understand rollups, the tech quietly carrying most of Ethereum's traffic.

js
l1.postBatch(rollup.compress(1000_txs))
// 1000 transactions, 1 L1 fee
0/4 lessons
PART 2
Advanced
Cross-Chain Interoperability

Two blockchains, no shared referee: how value and data cross a trust boundary that was never designed to be crossed.

solidity
// Simplified lock-and-mint bridge contract (source chain side)
  contract LockAndMintBridge {
      mapping(bytes32 => bool) public processedWithdrawals;
      address public validatorSet; // multisig or light client verifier
  
      event Locked(address indexed user, uint256 amount, uint256 destChainId);
  
      function lock(uint256 amount, uint256 destChainId) external {
          token.transferFrom(msg.sender, address(this), amount);
          emit Locked(msg.sender, amount, destChainId);
          // Off-chain relayers/validators observe this event and
          // sign an attestation authorizing a mint on the destination chain
      }
  
      function release(bytes32 withdrawalId, address to, uint256 amount, bytes calldata proof) external {
          require(!processedWithdrawals[withdrawalId], "already processed");
          require(verify(proof), "invalid proof or signatures"); // the entire security model lives here
          processedWithdrawals[withdrawalId] = true;
          token.transfer(to, amount);
      }
  }
0/5 lessons
PART 3
Advanced
Modular Blockchains and Rollup-as-a-Service

Why chains are splitting execution, consensus, and data availability into separate layers.

0/4 lessons
PART 4
Advanced
Blockchain Scalability: Sharding and Data Availability

Why every popular chain hits a throughput wall, and the two hardest ways engineers are trying to break through it.

0/6 lessons
PART 5
Advanced
Blockchain Interoperability Standards

Why chains talking to each other needs more than another bridge.

0/4 lessons

Stablecoins & Real-World Money

8-part guided track
PART 1
Intermediate
Stablecoins

A dollar that lives on-chain is a promise. This course is about what actually backs that promise, and what breaks it.

solidity
// Simplified over-collateralized vault: mint stablecoin against locked collateral
  function mint(uint256 collateralAmount, uint256 debtAmount) external {
      require(collateralAmount > 0, "no collateral");
      uint256 collateralValue = oracle.getPrice(collateralToken) * collateralAmount;
  
      // Must stay above the minimum collateralization ratio, e.g. 150%
      require(
          collateralValue * 100 >= debtAmount * MIN_COLLATERAL_RATIO,
          "below min collateral ratio"
      );
  
      vaults[msg.sender].collateral += collateralAmount;
      vaults[msg.sender].debt += debtAmount;
  
      collateralToken.transferFrom(msg.sender, address(this), collateralAmount);
      stablecoin.mint(msg.sender, debtAmount);
  }
0/5 lessons
PART 2
Intermediate
Stablecoins as Payment Rails

Not DeFi collateral, actual money moving between actual businesses.

0/5 lessons
PART 3
Intermediate
Real-World Asset Tokenization

Putting a legal claim on a real asset into a token doesn't make the legal part disappear.

0/5 lessons
PART 4
Advanced
Institutional RWA Tokenization and Custody

What banks and asset managers actually need before they'll touch a tokenized asset.

0/5 lessons
PART 5
Advanced
Building Stablecoin Payments for Regulated Money

B2B stablecoin volumes went from under $100M a month to billions, and the engineers who can build it compliantly are scarce.

0/3 lessons
PART 6
Intermediate
Paying People in Stablecoins

Over 225 businesses moved payroll and operational payments onto stablecoins in a single year. The operations are the hard part.

0/3 lessons
PART 7
Intermediate
Stablecoins Meet the Rulebook

The law passed in 2025. The rules that make it operable were still being drafted a year later, and comment deadlines run into late 2026.

0/3 lessons
PART 8
Intermediate
Stocks on Chain: Reading the xStocks Numbers

$2.5 billion on chain, 1.31 million holders, and a product that still isn't quite a share of stock.

0/3 lessons

Crypto Compliance, Law & Tax

7-part guided track
PART 1
Intermediate
Crypto Regulation & Compliance

The legal rules crypto projects actually operate under, and why they differ everywhere.

0/5 lessons
PART 2
Intermediate
Blockchain Law: Smart Contracts, DAOs & Jurisdiction

Code executing exactly as written and a court enforcing the outcome are two very different things.

0/6 lessons
PART 3
Advanced
Global Crypto Legislation: MiCA, the GENIUS Act & Market Structure Bills

The rulebooks actually being written for crypto right now, by name, by clause, by consequence.

0/5 lessons
PART 4
Intermediate
Crypto Taxation for Builders and Users

Every swap, stake, and airdrop has a tax story, learn to read it before an auditor does.

0/6 lessons
PART 5
Intermediate
Market Structure Limbo

The CLARITY Act passed the House in 2025 with 294 votes. Two years later it's still stuck, and the industry is running out of calendar.

0/3 lessons
PART 6
Intermediate
Stablecoins Meet the Rulebook

The law passed in 2025. The rules that make it operable were still being drafted a year later, and comment deadlines run into late 2026.

0/3 lessons
PART 7
Intermediate
Travel Rule 2.0 and the Compliance Desk

Crypto compliance postings are up roughly 340 percent in three years, and the work is finally well defined.

0/3 lessons

Crypto Back Office: Compliance, Accounting & Treasury

5-part guided track
PART 1
Intermediate
Travel Rule 2.0 and the Compliance Desk

Crypto compliance postings are up roughly 340 percent in three years, and the work is finally well defined.

0/3 lessons
PART 2
Intermediate
Crypto Accounting Nobody Wants to Do

Fair value accounting for digital assets created a durable, well-paid niche filled by almost nobody.

0/3 lessons
PART 3
Intermediate
Paying People in Stablecoins

Over 225 businesses moved payroll and operational payments onto stablecoins in a single year. The operations are the hard part.

0/3 lessons
PART 4
Intermediate
Someone Has to Run the Treasury

DAOs hold serious money and hire real operators. The job is finance and governance, not posting in a forum.

0/3 lessons
PART 5
Intermediate
Crypto Taxation for Builders and Users

Every swap, stake, and airdrop has a tax story, learn to read it before an auditor does.

0/6 lessons

DeFi, Trading & Market Cycles

16-part guided track
PART 1
Intermediate
DeFi Deep Dive

AMMs, lending, stablecoins, and the money legos of open finance.

solidity
function swap(uint amountIn) external {
  uint out = (amountIn * reserveOut) / (reserveIn + amountIn);
  reserveIn += amountIn; reserveOut -= out;
}
0/5 lessons
PART 2
Intermediate
Liquid Staking & Staking Economics

Stake your tokens and still keep them working. The mechanics, the yield, and the risks of unlocking locked capital.

solidity
// Simplified conceptual sketch of a liquid staking deposit
  function stake() external payable {
      require(msg.value > 0, "zero deposit");
  
      // Exchange rate reflects accrued rewards over time,
      // so lstToken minted per token deposited shrinks as rewards accrue
      uint256 lstAmount = (msg.value * totalLstSupply) / totalStakedAssets;
  
      totalStakedAssets += msg.value;
      _mint(msg.sender, lstAmount);
  
      // Underlying ETH is queued for staking with a validator set,
      // the depositor never touches validator operations directly
      _queueForStaking(msg.value);
  }
0/5 lessons
PART 3
Intermediate
Crypto Trading & Market Analysis

Read charts, understand order books, and manage risk like a professional.

python
rsi = compute_rsi(prices, period=14)
if rsi < 30: signal = "oversold"
elif rsi > 70: signal = "overbought"
0/4 lessons
PART 4
Beginner
Why Crypto Markets Pump and Crash

The psychology and mechanics behind crypto's wildest price swings.

0/6 lessons
PART 5
Advanced
DeFi Insurance and Risk Markets

Coverage for a world where the bugs are the disaster.

0/5 lessons
PART 6
Advanced
Crypto Market Making and Liquidity Provision

Someone has to be on the other side of every trade. This is who, and why.

0/5 lessons
PART 7
Advanced
Crypto Derivatives and Perpetual Futures

The contracts that let you bet on price without ever touching the asset.

0/5 lessons
PART 8
Intermediate
On-Chain Analytics and Reading Market Cycles

The blockchain itself is a data feed. Learn to read it.

0/5 lessons
PART 9
Intermediate
On-Chain Data & Analytics

The chain remembers everything. Reading it back at scale is a whole discipline of its own.

0/5 lessons
PART 10
Beginner
The State of DeFi: 2026 Landscape

A grounded tour of where decentralized finance actually stands today, past the hype cycles.

0/6 lessons
PART 11
Advanced
Restaking & Shared Security

One pool of staked capital, securing more than one network at a time.

0/5 lessons
PART 12
Beginner
The State of Blockchain: 2026 Landscape

A clear-eyed map of where crypto actually stands, minus the hype.

0/6 lessons
PART 13
Advanced
Running an On-Chain Perp Desk

Perpetuals moved on-chain in volume, and the edge is now in funding, fees and execution rather than direction.

0/3 lessons
PART 14
Intermediate
How DATs Die

Buy coins with borrowed money, trade at a premium, issue more shares, repeat. Then the premium goes away.

0/3 lessons
PART 15
Intermediate
Airdrop Farming After the Sybil Crackdown

Protocols got good at detecting farms, and the strategy that worked in 2021 now gets you filtered out entirely.

0/3 lessons
PART 16
Intermediate
Stocks on Chain: Reading the xStocks Numbers

$2.5 billion on chain, 1.31 million holders, and a product that still isn't quite a share of stock.

0/3 lessons

Crypto Fundraising & Tokenomics

4-part guided track
PART 1
Advanced
Web3 Business & Tokenomics

Design token economies and take a Web3 idea from concept to launch.

0/4 lessons
PART 2
Intermediate
Token Launch Mechanisms & Fair Distribution

How a token's first day on the market shapes its next five years.

0/5 lessons
PART 3
Intermediate
How to Launch and Market a Token, Safely

The mechanics get you to launch day. This is what happens after, done right.

0/5 lessons
PART 4
Intermediate
Crypto Venture Capital and Token Fundraising

How crypto projects actually raise money, and why tokens change the whole playbook.

0/5 lessons

NFTs, Gaming & Digital Culture

5-part guided track
PART 1
Beginner
NFTs & Digital Assets

Token standards, marketplaces, and real utility beyond the hype.

solidity
function mint(address to, uint id) external {
  _safeMint(to, id);
  emit Minted(to, id);
}
0/4 lessons
PART 2
Beginner
The NFT Creator's Guide: From Art to Mint

For artists who want to actually mint and sell their work, not just understand the theory.

0/5 lessons
PART 3
Beginner
Web3 Gaming & GameFi

Play-to-earn, on-chain items, and why gamers actually care about this.

solidity
function equipSword(uint tokenId) external {
  require(ownerOf(tokenId) == msg.sender);
  player.equipped = tokenId;
}
0/4 lessons
PART 4
Beginner
Blockchain Gaming Economies

What actually changes when in-game items live on a blockchain instead of a company's server.

0/5 lessons
PART 5
Beginner
Meme Coins: Culture, Risk & Reality

Why they exist, why they move so fast, and how to not get rekt.

0/4 lessons

Blockchain Security & Trust

12-part guided track
PART 1
Advanced
Blockchain Security Auditing

Smart contracts are unforgiving. Learn to find the bugs before an attacker does.

solidity
// Vulnerable: violates checks-effects-interactions
  function withdraw(uint256 amount) external {
      require(balances[msg.sender] >= amount, "insufficient");
      (bool ok, ) = msg.sender.call{value: amount}(""); // external call first
      require(ok, "transfer failed");
      balances[msg.sender] -= amount; // state updated after the call
  }
  
  // Fixed: state is settled before the external call happens
  function withdraw(uint256 amount) external {
      require(balances[msg.sender] >= amount, "insufficient");
      balances[msg.sender] -= amount; // effects before interaction
      (bool ok, ) = msg.sender.call{value: amount}("");
      require(ok, "transfer failed");
  }
0/5 lessons
PART 2
Advanced
MEV & On-Chain Security

The invisible tax on every transaction, and how to defend against it.

solidity
function trade() external {
  require(block.timestamp <= deadline);
  require(amountOut >= minAmountOut, "slippage");
}
0/4 lessons
PART 3
Advanced
Zero-Knowledge Proofs Explained

How you can prove something is true without revealing why.

python
proof = zk.prove(secret, statement)
assert zk.verify(proof, statement)  // true, secret never revealed
0/4 lessons
PART 4
Intermediate
Decentralized Identity & Verifiable Credentials

Who vouches for you, who holds the proof, and who has to check it, without anyone phoning home.

0/5 lessons
PART 5
Intermediate
On-Chain Identity and Reputation Systems

A wallet address tells you nothing about who's behind it. People are trying to fix that.

0/5 lessons
PART 6
Intermediate
DAOs & On-Chain Governance

Code that holds the money, and a vote that decides when it moves.

solidity
function execute(uint256 proposalId) external {
      Proposal storage p = proposals[proposalId];
      require(p.voteEnd < block.timestamp, "voting still open");
      require(forVotes(p) > againstVotes(p), "proposal failed");
      require(!p.executed, "already executed");
      require(block.timestamp >= p.eta, "timelock not elapsed");
  
      p.executed = true;
      (bool ok, ) = p.target.call(p.callData);
      require(ok, "execution reverted");
  }
0/5 lessons
PART 7
Intermediate
Your First Hundred Hours of Auditing

Security auditors earn $150K–$250K and up. The entry path is unusually clear and unusually unforgiving.

0/3 lessons
PART 8
Advanced
Code4rena Is Winding Down. Now What?

The platform that defined competitive auditing announced its wind-down in May 2026. The money moved, it did not vanish.

0/3 lessons
PART 9
Advanced
The First Thirty Minutes of an Exploit

Every protocol writes a security audit. Almost none rehearse what happens when funds are leaving right now.

0/3 lessons
PART 10
Advanced
ZK Engineering: Small Field, Large Cheques

Zero-knowledge engineers are the scarcest specialists in crypto, and the tooling finally lets a normal developer enter.

0/3 lessons
PART 11
Advanced
Bitcoin's Quantum Homework

BIP-360 gives Bitcoin a quantum-resistant address type. BIP-361 asks whether Satoshi's coins should be frozen.

0/3 lessons
PART 12
Intermediate
Ethereum's Privacy HTTPS Moment

The Ethereum Foundation shipped an SDK so any wallet can add shielded transfers. The goal is boring, invisible privacy.

0/3 lessons

Crypto Engineering Careers: Audit, Rust & ZK

8-part guided track
PART 1
Intermediate
Your First Hundred Hours of Auditing

Security auditors earn $150K–$250K and up. The entry path is unusually clear and unusually unforgiving.

0/3 lessons
PART 2
Advanced
Code4rena Is Winding Down. Now What?

The platform that defined competitive auditing announced its wind-down in May 2026. The money moved, it did not vanish.

0/3 lessons
PART 3
Intermediate
Foundry, Properly

Solidity is in over 40 percent of web3 job postings, and the toolchain those jobs assume is Foundry.

0/3 lessons
PART 4
Advanced
Rust Pays 15 Percent More. Here Is Why.

Solidity appears in over 40 percent of web3 postings, Rust in about 25 — and Rust roles pay a premium at every level.

0/3 lessons
PART 5
Advanced
ZK Engineering: Small Field, Large Cheques

Zero-knowledge engineers are the scarcest specialists in crypto, and the tooling finally lets a normal developer enter.

0/3 lessons
PART 6
Advanced
Running the Nodes Everything Else Depends On

Every wallet, indexer and trading bot is one RPC endpoint away from being useless. Someone has to run them.

0/3 lessons
PART 7
Advanced
The First Thirty Minutes of an Exploit

Every protocol writes a security audit. Almost none rehearse what happens when funds are leaving right now.

0/3 lessons
PART 8
Advanced
Building Stablecoin Payments for Regulated Money

B2B stablecoin volumes went from under $100M a month to billions, and the engineers who can build it compliantly are scarce.

0/3 lessons

Web3 Career, DevRel & Business

7-part guided track
PART 1
Beginner
Building a Career in Web3

The real roles, the real skills, and the real risks of building in web3.

0/6 lessons
PART 2
Intermediate
Web3 Developer Relations & Community Building

Be the bridge between a protocol's engineers and the developers trying to build on it.

0/5 lessons
PART 3
Intermediate
Web3 Wallet Security & Key Management

The cryptography, architecture, and operational habits behind wallets that don't get drained.

text
m / purpose' / coin_type' / account' / change / address_index
m / 44'      / 60'       / 0'       / 0      / 0            // ETH account 0, address 0
m / 44'      / 60'       / 0'       / 0      / 1            // ETH account 0, address 1
m / 44'      / 0'        / 0'       / 0      / 0            // BTC account 0, address 0
// One seed. One master key. Every address below it is derived, not stored.
0/6 lessons
PART 4
Advanced
Rust for Blockchain Development

The language that turns memory bugs into compile errors, exactly when a bug can mean stolen funds.

0/5 lessons
PART 5
Intermediate
Foundry, Properly

Solidity is in over 40 percent of web3 job postings, and the toolchain those jobs assume is Foundry.

0/3 lessons
PART 6
Intermediate
Someone Has to Run the Treasury

DAOs hold serious money and hire real operators. The job is finance and governance, not posting in a forum.

0/3 lessons
PART 7
Intermediate
Crypto Accounting Nobody Wants to Do

Fair value accounting for digital assets created a durable, well-paid niche filled by almost nobody.

0/3 lessons

Blockchain Infrastructure & Data

6-part guided track
PART 1
Advanced
Blockchain Oracles Deep Dive

Blockchains are sealed boxes. Oracles are the only door in, and how you build that door determines how much you can trust what walks through it.

0/5 lessons
PART 2
Intermediate
Decentralized Storage

Your files, spread across the world instead of locked in one company's servers.

0/5 lessons
PART 3
Intermediate
DePIN: Decentralized Physical Infrastructure

Crowdsourcing the real world's hardware, one token reward at a time.

0/5 lessons
PART 4
Intermediate
Prediction Markets

Where betting on the future turns crowds into forecasters.

0/5 lessons
PART 5
Intermediate
Blockchain Consensus Mechanisms

How thousands of strangers who trust no one agree on a single version of the truth.

0/5 lessons
PART 6
Advanced
Running the Nodes Everything Else Depends On

Every wallet, indexer and trading bot is one RPC endpoint away from being useless. Someone has to run them.

0/3 lessons

Hands-On Builder Projects

7-part guided track
PART 1
Beginner
Building Your First AI Agent: A Hands-On Project

Stop reading about agent architecture and go build one.

0/6 lessons
PART 2
Intermediate
Debugging and Improving AI Agents

Your agent is already built and already breaking. Here's how to find out why and fix it.

0/6 lessons
PART 3
Beginner
Building Your First Smart Contract Project

From Solidity syntax to a shipped, verified contract.

0/6 lessons
PART 4
Beginner
The NFT Creator's Guide: From Art to Mint

For artists who want to actually mint and sell their work, not just understand the theory.

0/5 lessons
PART 5
Beginner
Building Your Second Robot: A Guided Project

Your first robot moved. This one has to think.

0/5 lessons
PART 6
Intermediate
ROS 2 Hands-On: A Project-Based Path

You know what a node is. Now build one that actually does something.

0/5 lessons
PART 7
Intermediate
Foundry, Properly

Solidity is in over 40 percent of web3 job postings, and the toolchain those jobs assume is Foundry.

0/3 lessons

AI Research Frontiers

6-part guided track
PART 1
Advanced
World Models

Teach a machine to imagine what happens next, before it happens.

0/5 lessons
PART 2
Advanced
Test-Time Compute & Reasoning Models

Some models get smarter by thinking longer, not by growing bigger.

0/5 lessons
PART 3
Intermediate
Federated Learning & Privacy-Preserving AI

Train smarter models without ever pulling anyone's raw data into one place.

0/5 lessons
PART 4
Intermediate
AI for Scientific Discovery

Where AI stops recommending videos and starts folding proteins.

0/5 lessons
PART 5
Intermediate
Synthetic Data for AI Training

When the real world doesn't give you enough examples, you generate your own.

0/5 lessons
PART 6
Advanced
We're Running Out of Benchmarks

When the hardest test you have takes a human 32 hours and the model passes it, what exactly do you measure next?

0/3 lessons

September 2026: What's Actually New

13-part guided track
PART 1
Intermediate
Claude Fable 5.1 and the Frontier Model Class

Understand what actually changed at the top of the model stack, and how to pick between tiers without defaulting to the biggest one.

0/5 lessons
PART 2
Advanced
Working with a Million-Token Context Window

A hands-on guide to what genuinely changes, and what doesn't, once a model can hold a million tokens in one conversation.

0/5 lessons
PART 3
Beginner
The Sora Story: What a Shutdown Teaches Builders

A real, honest look at a flagship AI product's rise and shutdown, and what it should change about how you build.

0/5 lessons
PART 4
Intermediate
How to Actually Evaluate a New Model Release

A durable, evergreen skill for a field that ships a new 'best model' announcement every few weeks.

0/5 lessons
PART 5
Beginner
Why AI Labs Are Building Robots Now

The software companies are heading into hardware, and it's not a side project.

0/4 lessons
PART 6
Beginner
The World Humanoid Robot Games: Robotics as Spectacle

Robots sprinted, boxed, and picked up beans in front of a stadium crowd. Here's why that's a bigger deal than it sounds.

0/4 lessons
PART 7
Intermediate
The Robot Training Data Economy

Robots don't just need better models. They need something harder to get: real physical demonstrations of doing things right.

0/5 lessons
PART 8
Intermediate
Humanoid Robots and Trade Policy

Robots just joined chips and network gear on the list of technologies governments treat as national security issues.

0/4 lessons
PART 9
Intermediate
Institutional Custody and the New Bank Charters

How crypto custody moved from state-by-state licensing into the federal banking system.

0/4 lessons
PART 10
Intermediate
Why Institutional Capital Is Now in DeFi

Pension funds and asset managers are showing up in DeFi. Here's what actually had to happen first.

0/4 lessons
PART 11
Intermediate
Agent-to-Agent Payments: Stablecoins as the Settlement Layer

AI agents are starting to pay each other directly. Stablecoins are turning out to be how they settle.

0/5 lessons
PART 12
Intermediate
Anthropic's September 2026 Threat Intelligence Report

How state actors, criminal groups, and lone operators are actually misusing frontier AI, and how it gets caught.

0/3 lessons
PART 13
Intermediate
When AI Safety Researchers Quit: What They're Actually Saying

Reading the public resignations and warnings from people who worked on frontier AI, in their own words.

0/2 lessons

September 2026: The Model Wave

10-part guided track
PART 1
Intermediate
Four Frontier Models in Four Days

September 2026 opened with the densest run of frontier launches the industry has seen. Here's how to read a week like that.

0/3 lessons
PART 2
Advanced
We're Running Out of Benchmarks

When the hardest test you have takes a human 32 hours and the model passes it, what exactly do you measure next?

0/3 lessons
PART 3
Intermediate
The First Model Rated Critical for Cyber

GPT-6 Astra hit 100% on ExploitBench and went to enterprise customers first. Capability gating stopped being hypothetical.

0/3 lessons
PART 4
Intermediate
Atlas Is Gone. The Agentic Browser Isn't.

OpenAI shipped a browser in October 2025 and switched it off in August 2026. What got absorbed, what got abandoned, and what that says about product strategy in AI.

0/3 lessons
PART 5
Beginner
€3 Billion for Sovereign AI

Samsung led Europe's largest ever equity round into a company whose whole pitch is that Europe should not depend on American models.

0/3 lessons
PART 6
Intermediate
The Chip Company Bought the Model Hub

NVIDIA agreed to buy Hugging Face for $12.93 billion on September 3, 2026. The silicon and the marketplace where models get shared are now under one roof.

0/3 lessons
PART 7
Advanced
MCP Grows Up

Anthropic gave the Model Context Protocol away, the spec went stateless, and enterprises discovered they have no idea what their agents are touching.

0/3 lessons
PART 8
Intermediate
Two Protocols, One Foundation

MCP connects an agent to tools. A2A connects agents to each other. As of August 2026 both live under the same Linux Foundation roof.

0/3 lessons
PART 9
Beginner
$1.5 Billion for 500,000 Books

Training on copyrighted books can be fair use. Downloading them from a pirate site is a separate and very expensive question.

0/3 lessons
PART 10
Intermediate
Thirty-Five Publishers and a Lyrics Problem

The books case settled. The music case is different in ways that matter, and it is being litigated right now.

0/3 lessons

September 2026: Robots Meet the Real World

9-part guided track
PART 1
Beginner
Robotaxis Hit the Freeway

Fourteen cities, airport access, and highway driving — the year autonomy stopped being a geofenced curiosity.

0/3 lessons
PART 2
Intermediate
No Steering Wheel, No Problem?

Tesla started charging for Cybercab rides in Austin on September 3, 2026. NHTSA opened an audit the same day, and the question is who gets to decide which rules apply.

0/3 lessons
PART 3
Intermediate
Eleven Months at a BMW Plant

Figure ran a humanoid in a real car plant for nearly a year. That's a more interesting data point than any demo video.

0/3 lessons
PART 4
Beginner
A Stranger Can See Your Living Room

1X's NEO costs $20,000 and is 60 to 70 percent autonomous. The other 30 percent is a person watching through its eyes.

0/3 lessons
PART 5
Beginner
China's Humanoid Machine

XPENG raised over $900 million at a $6.3 billion valuation for its robot arm of the business. That's one round, in one country, in one year.

0/3 lessons
PART 6
Intermediate
2,070 TFLOPS on a Robot's Back

Jetson Thor puts data-centre-class inference inside a humanoid's torso, and then the thermal engineering starts.

0/3 lessons
PART 7
Intermediate
The Android of Robotics

NVIDIA doesn't want to sell you a robot. It wants every robot to run its stack.

0/3 lessons
PART 8
Intermediate
Why Robot Demos Lie

Every impressive robot video is a survivor. Learning to see the takes that didn't ship is a skill worth having.

0/3 lessons
PART 9
Intermediate
Does a Humanoid Pay for Itself?

The only question a plant manager actually asks, and the one robotics marketing works hardest to avoid.

0/3 lessons

September 2026: Chains Upgrade, Rules Land

10-part guided track
PART 1
Advanced
Glamsterdam: Ethereum's Biggest Rewrite Since the Merge

Ten EIPs, a nine-second execution window, and a path to a 200 million gas limit.

0/3 lessons
PART 2
Advanced
Alpenglow: Solana Rips Out Proof of History

Twelve seconds to finality becomes 150 milliseconds, and 75 percent of block space stops being wasted on votes.

0/3 lessons
PART 3
Intermediate
The OP_RETURN Fight

A relay policy default changed, a fifth of the network switched node software, and everyone learned what "consensus" actually covers.

0/3 lessons
PART 4
Advanced
Bitcoin's Quantum Homework

BIP-360 gives Bitcoin a quantum-resistant address type. BIP-361 asks whether Satoshi's coins should be frozen.

0/3 lessons
PART 5
Intermediate
Ethereum's Privacy HTTPS Moment

The Ethereum Foundation shipped an SDK so any wallet can add shielded transfers. The goal is boring, invisible privacy.

0/3 lessons
PART 6
Intermediate
Market Structure Limbo

The CLARITY Act passed the House in 2025 with 294 votes. Two years later it's still stuck, and the industry is running out of calendar.

0/3 lessons
PART 7
Intermediate
Stablecoins Meet the Rulebook

The law passed in 2025. The rules that make it operable were still being drafted a year later, and comment deadlines run into late 2026.

0/3 lessons
PART 8
Intermediate
Stocks on Chain: Reading the xStocks Numbers

$2.5 billion on chain, 1.31 million holders, and a product that still isn't quite a share of stock.

0/3 lessons
PART 9
Intermediate
How DATs Die

Buy coins with borrowed money, trade at a premium, issue more shares, repeat. Then the premium goes away.

0/3 lessons
PART 10
Intermediate
Airdrop Farming After the Sybil Crackdown

Protocols got good at detecting farms, and the strategy that worked in 2021 now gets you filtered out entirely.

0/3 lessons

Canva Mastery

9-part guided track
PART 1
BeginnerStart here
Canva
Canva for Beginners

Go from blank page to finished design without touching a single design textbook.

0/4 lessons
PART 2
Beginner
Canva
Canva Design Fundamentals

Design like you know what you're doing, from your very first project.

0/4 lessons
PART 3
Intermediate
Canva
Canva AI Tools Masterclass

Let Canva's AI handle the first draft so you can spend your time on the parts that actually need a human.

0/4 lessons
PART 4
Intermediate
Canva
AI-Assisted Design in Canva

Use Canva's AI tools to work faster without letting the work look AI-made.

0/3 lessons
PART 5
Beginner
Canva
Social Media Design with Canva

Design a feed that actually looks like it belongs to one brand, not ten different ones.

0/4 lessons
PART 6
Intermediate
Canva
Canva Video & Motion Graphics

Turn static designs into scroll-stopping video, right inside Canva.

0/4 lessons
PART 7
Beginner
Canva
Canva Docs & Whiteboards for Teams

Run real team work, planning, brainstorming, documentation, inside Canva instead of switching tools.

0/4 lessons
PART 8
Intermediate
Canva
Canva for Business & Teams

Keep a whole team on-brand without a designer reviewing every single file.

0/4 lessons
PART 9
Advanced
Canva
Canva Code: Building Real Websites

Take a design straight to a real, working website, no separate developer required.

0/3 lessons

Figma & Adobe

3-part guided track
PART 1
Beginner
Figma
Figma for Beginners

The industry-standard interface design tool, from zero.

0/3 lessons
PART 2
Intermediate
Design theory
Adobe Photoshop Essentials

The industry-standard tool for photo editing and raster compositing.

0/3 lessons
PART 3
Intermediate
Design theory
Adobe Illustrator Essentials

The industry-standard tool for vector art that scales to any size.

0/3 lessons

AI Design Tools: Claude, ChatGPT & Gemini

7-part guided track
PART 1
Intermediate
Claude
Using Claude for Design Work

An AI teammate for the parts of design work that aren't drawing.

0/3 lessons
PART 2
Beginner
Claude
Claude Design: Building Website Mockups

Turning a plain-language brief into a real, multi-page website design.

0/2 lessons
PART 3
Intermediate
ChatGPT / DALL-E
ChatGPT & DALL-E for Visual Design

OpenAI's tools for generating and iterating on visual concepts fast.

0/3 lessons
PART 4
Intermediate
Gemini
Google Gemini for Designers

Multimodal AI, images, and text in one prompt, for real design work.

0/2 lessons
PART 5
Intermediate
Design theory
AI Photo Editing & Retouching

Faster retouching with AI tools, without losing the eye for what looks real.

0/2 lessons
PART 6
Intermediate
Design theory
Prompt Engineering for Visual Designers

Getting AI image and design tools to produce what you actually meant.

0/2 lessons
PART 7
Advanced
Design theory
AI-Assisted Design Workflows

Use AI tools to move faster without losing the taste and judgment that make design work good.

0/4 lessons

Design Fundamentals: Color, Type & Branding

10-part guided track
PART 1
Beginner
Design theory
Color Theory Deep Dive

Why some color combinations just work, explained, not just felt.

0/3 lessons
PART 2
Beginner
Design theory
Color Theory for Designers

Color choices aren't taste, they're a system you can actually learn.

0/4 lessons
PART 3
Intermediate
Design theory
Typography Mastery

The invisible skill that makes or breaks every single design.

0/3 lessons
PART 4
Beginner
Design theory
Typography Fundamentals

The words are the message, but the letterforms decide whether anyone actually reads them.

0/4 lessons
PART 5
Intermediate
Design theory
Brand Identity Design

Take a business from "no logo" to a real, consistent brand system.

0/4 lessons
PART 6
Intermediate
Design theory
Brand Identity Design Fundamentals

A logo is not a brand. Learn what actually makes a brand identity hold together.

0/4 lessons
PART 7
Intermediate
Design theory
Personal Branding Design Kit

Build a consistent visual identity for yourself across every profile, post, and pitch deck.

0/4 lessons
PART 8
Intermediate
Design theory
Logo Design From Scratch

From a blank page to a mark a business can build a brand around.

0/3 lessons
PART 9
Beginner
Design theory
Logo Design Fundamentals

Design a mark that works small, in black and white, and on a T-shirt, a favicon, and a billboard alike.

0/4 lessons
PART 10
Beginner
Design theory
Iconography & Illustration Basics

The small pictures that carry big meaning, and how to draw them well.

0/4 lessons

UI/UX & Product Design

7-part guided track
PART 1
Beginner
Design theory
UI/UX Design Fundamentals

Design for how people actually use a screen, not just how it looks.

0/3 lessons
PART 2
Intermediate
Design theory
UI/UX Design Basics

Designing something people can actually use is a different skill from designing something that looks good.

0/4 lessons
PART 3
Intermediate
Design theory
Mobile App Design Fundamentals

Design for a screen in someone's hand: thumbs, small space, and platform conventions that already exist.

0/4 lessons
PART 4
Beginner
Design theory
Accessibility in Design

Design that actually works for everyone, not just the people who look like your test users.

0/4 lessons
PART 5
Advanced
Design theory
Design Systems at Scale

Keep a brand consistent when it's no longer just you designing for it.

0/3 lessons
PART 6
Advanced
Design theory
Design Systems 101

Stop redesigning the same button twice: build the shared rules that keep a product consistent at scale.

0/4 lessons
PART 7
Beginner
Design theory
Design Research & User Testing

Finding out if a design actually works, before it ships.

0/2 lessons

Marketing, Print & Presentation Design

7-part guided track
PART 1
Beginner
Design theory
Social Media & Marketing Graphics

Graphics that survive the scroll, sized right for every platform that matters.

0/3 lessons
PART 2
Beginner
Design theory
Presentation & Pitch Deck Design

Decks that get remembered for the idea, not forgiven for the slides.

0/3 lessons
PART 3
Advanced
Design theory
Presentation Design That Doesn't Suck

Most slide decks fail before anyone even judges the design. Here's how to fix the actual problem.

0/4 lessons
PART 4
Intermediate
Design theory
Print Design Essentials

Design for paper, where there's no undo once it's printed.

0/3 lessons
PART 5
Intermediate
Design theory
Packaging Design Fundamentals

Designing for a box, not a screen: shelf presence, dielines, and print.

0/2 lessons
PART 6
Intermediate
Design theory
Packaging Design Basics

Design the object people hold before they ever open it.

0/4 lessons
PART 7
Intermediate
Design theory
Motion Graphics & Microinteractions

Small, purposeful motion that makes a design feel alive, not distracting.

0/2 lessons

Building a Design Career

2-part guided track
PART 1
Intermediate
Design theory
Portfolio Building for Designers

Turn finished projects into a portfolio that actually gets you hired.

0/3 lessons
PART 2
Intermediate
Design theory
Portfolio Design for Creatives

The portfolio is often the first thing a client or employer actually judges you on. Design it like the work it's selling.

0/4 lessons

More AI Courses

Standalone, any order
BeginnerStart here
AI Fundamentals

Understand how modern AI actually works, no hype required.

python
prompt = "Explain gas fees like I'm 12"
response = model.generate(prompt)
print(response)
0/4 lessons
Beginner
Prompt Engineering Mastery

Learn to talk to AI so it actually does what you mean.

text
SYSTEM: You are a senior copyeditor. Be concise and direct.
USER: Rewrite this sentence for clarity.
Text: "The utilization of the aforementioned methodology..."
Think step by step, then give only the final rewrite.
0/4 lessons
Beginner
Machine Learning Foundations

Understand how machines actually learn from data, not just what buzzwords mean.

python
X_train, X_val, X_test = split(data, ratios=[0.7, 0.15, 0.15])
model.fit(X_train, y_train)
val_score = model.evaluate(X_val, y_val)
# Only after tuning is done, touch the test set once
test_score = model.evaluate(X_test, y_test)
0/4 lessons
Intermediate
Neural Networks & Deep Learning

Open the black box and see how deep learning actually works under the hood.

python
output = activation(sum(weight_i * input_i for i, input_i in enumerate(inputs)) + bias)
loss = loss_function(output, target)
gradients = backpropagate(loss, network)
weights -= learning_rate * gradients
0/4 lessons
Intermediate
Computer Vision Basics

See how machines turn pixels into understanding.

python
image = load_image("stop_sign.jpg")  # shape: (224, 224, 3)
edges = conv2d(image, filter=vertical_edge_kernel)
features = cnn.extract_features(image)
prediction = classifier(features)
print(prediction)  # {"stop_sign": 0.97, "yield_sign": 0.02}
0/4 lessons
Beginner
Prompt Engineering Fundamentals

Say the right thing to an AI model, and it does the right thing back.

0/4 lessons
Beginner
AI-Powered Data Analysis & Insights

Turn spreadsheets and dashboards into questions you can just ask.

0/4 lessons
Intermediate
Retrieval-Augmented Generation (RAG) Explained

Give a language model a library card instead of asking it to memorize everything.

0/4 lessons
Beginner
AI Ethics & Responsible AI

Powerful tools deserve careful hands. Learn to build and use AI responsibly.

0/4 lessons
Beginner
Machine Learning Basics for Everyone

No math degree required: understand what machine learning actually is and how it learns.

0/4 lessons
Beginner
Generative AI for Images & Video

From a text prompt to a finished frame: how AI actually paints and animates.

0/4 lessons
Beginner
AI in Everyday Business Workflows

Where AI actually earns its keep inside a real company, not just in demos.

0/4 lessons
Advanced
Fine-Tuning vs Prompting: When to Use What

Two ways to customize a model's behavior, and knowing which one actually solves your problem.

0/4 lessons
Intermediate
Understanding Large Language Models

Demystify the transformer architecture and training process behind GPT, Claude, and Gemini.

0/4 lessons
Intermediate
AI Coding Assistants: A Practical Guide

Autocomplete grew up. Learn to actually work with an AI pair programmer, not against it.

0/4 lessons

More Blockchain Courses

Standalone, any order
Beginner
Web3 for Kids

The internet of money, explained the fun and simple way.

0/4 lessons
Beginner
Crypto Safety & Security

Protect your funds. Spot scams before they cost you.

0/4 lessons
BeginnerStart here
Blockchain Foundations

Understand how blockchains actually work, from blocks to consensus.

js
block.hash = sha256(prevHash + data + nonce)
while (!block.hash.startsWith('0000')) nonce++
0/4 lessons
Intermediate
Smart Contract Engineering

Write, deploy, and secure the programs that run on-chain.

solidity
function withdraw() external {
  uint amount = balances[msg.sender];
  balances[msg.sender] = 0;
  payable(msg.sender).transfer(amount);
}
0/4 lessons
Beginner
Wallet Security: Not Your Keys, Not Your Coins

The habits that separate a self-custody wallet from a very expensive lesson.

0/2 lessons
Beginner
Blockchain Fundamentals Beyond Bitcoin

Bitcoin was the first use case, not the whole idea.

0/4 lessons
Beginner
Smart Contracts 101

Code that executes exactly as written, no middleman required.

0/4 lessons
Intermediate
DeFi: Decentralized Finance Explained

Banking, rebuilt from open-source code instead of institutions.

0/4 lessons
Beginner
NFTs Beyond the Hype

Unique digital ownership, minus the profile-picture noise.

0/4 lessons
Intermediate
Layer 2 Scaling Solutions

How blockchains handle more users without breaking what makes them trustworthy.

0/4 lessons
Beginner
Web3 Wallets & Security

Your keys, your crypto, your responsibility.

0/4 lessons
Intermediate
DAOs: Decentralized Organizations

Governance where the bylaws are code and the votes are on-chain.

0/4 lessons
Intermediate
Stablecoins Explained

Crypto that's designed to be boring, on purpose.

0/4 lessons
Beginner
Blockchain in Supply Chain

Tracing a product's journey with a record nobody can quietly edit.

0/4 lessons
Advanced
Intro to Solidity Programming

Write the code that runs a smart contract, line by line.

0/4 lessons

More Robotics Courses

Standalone, any order
BeginnerStart here
Robotics for Beginners

Meet the machines that sense, think, and move through the real world.

0/4 lessons
Beginner
Sensors and Actuators: How a Robot Feels and Moves

The two halves of every robot, sensing the world and acting on it, and the components behind each.

0/2 lessons
Intermediate
Keeping a Robot Fleet Actually Running

A robot that breaks down is worse than no robot at all. Reliability engineering is its own discipline.

0/2 lessons
Beginner
Robot Perception & Computer Vision Basics

Teach a machine to see, and you've solved half of robotics.

0/4 lessons
Intermediate
Intro to ROS 2 (Robot Operating System)

The plumbing that lets a robot's dozens of programs talk to each other.

0/4 lessons
Advanced
SLAM: Mapping and Localization

How a robot builds a map of a place it's never seen, while figuring out where it is on that map.

0/4 lessons
Intermediate
Robotic Arm Kinematics

The geometry problem every robotic arm has to solve before it can touch anything.

0/4 lessons
Intermediate
Autonomous Mobile Robots (AMR) Fleets

How hundreds of self-driving carts share one warehouse without colliding.

0/4 lessons
Beginner
Humanoid Robotics Today

Why the robot shaped like us is suddenly the hottest bet in the industry.

0/4 lessons
Advanced
Robot Swarms & Multi-Robot Coordination

How dozens or thousands of simple robots pull off tasks no single robot could handle alone.

0/4 lessons
Beginner
Robotics in Agriculture

Farming is one of the oldest jobs on Earth, and robots are quietly rewriting how it's done.

0/4 lessons
Intermediate
Robotics in Healthcare & Surgery

When a robot's mistake means a patient's life, precision isn't optional, it's the whole point.

0/4 lessons
Beginner
Building Your First Robot Project

The cheapest, most satisfying way to actually learn robotics is to build one badly, then fix it.

0/4 lessons
Multichain BuildersMultichain Builders

Everything you need to learn and build with AI, blockchain, and robotics. Built for the next generation of builders.

Support: +254778504818
Newsletter

Get weekly blockchain insights, templates, and build tips.

Products
LearnWorkshopHackathonsProjectsKids
Company
AboutHire talent
Legal
Terms of ServicePrivacy Policy
© 2026 Multichain Builders LLC. All rights reserved.