100x·FDE Roadmap
0 of 6

Optional deep dive · Block 1 · Week 2 · The second interface: APIs

The Wire

Six problems, six inventions. Each one became a part of the request you sent in Round Three. Optional: do it after the Request Builder, when you want to know why a request has exactly these parts.

Six rungsAbout 20 minutesOptional

In Round Three the machine taught you six parts, one error at a time. Why does a request have exactly these parts? Because each one fixed a failure of the one before it.

Every rung starts with a question. Think about your answer before you touch anything; write it down if you can. Then try the interaction. The name of the invention comes last, behind Reveal.

RUNG 1A wire that is only on or off

Think first

A wire can only be on or off. How do you send the word HELP down it?

Try it · send HI

Press the key. A short press is a dot, a long press is a dash. Pause to end a letter. On a keyboard, hold the space bar.

Sender taps

Receiver reads

Reveal what humans invented

Morse code1844 · Samuel Morse and Alfred Vail

A shared codebook of dots and dashes. The first public line ran from Washington to Baltimore on 24 May 1844. The message was "What hath God wrought."

Turn the codebook off and the same pulses still arrive. They just mean nothing. Both ends must hold the same codebook, or the message is noise.

This becamepackagethe idea of a shared code under every character you send

Common languageBoth sides agree on what each signal means.

RUNG 2No human at either end

Think first

Morse needs a trained human at each end. What would a machine need instead?

Try it · type anything

Every character becomes a number, and every number becomes on and off.

Reveal what humans invented

ASCII1963 · American Standards Association, committee X3.4

A fixed number for every character, agreed by every machine. A is 65. Seven bits, so 128 characters. No operator needed: a machine reads the bits and knows the letter.

128 slots had no room for नमस्ते. UTF-8 (1992, Ken Thompson and Rob Pike) keeps ASCII as it is and uses more bytes for every other script. That is why A is still 65 today.

This becamepackageevery character inside it

Common languageA format machines agree on, with no human in the middle.

RUNG 3A million machines, one network

Think first

A million machines share one network. A message gets lost halfway. How does it find the right machine, and how do you know it arrived?

Try it · rebuild Aarav's message

The network cut Aarav's message into packets. They took different roads. Tap them in the right order.

Arrived, in the order the network delivered them

Rebuilt

Reveal what humans invented

TCP/IP1974 paper · Vint Cerf and Bob Kahn · ARPANET switched over on 1 Jan 1983

IP gives every machine an address, like 203.0.113.7, and every packet carries it. TCP numbers the packets, confirms each one that arrives, and asks again for what is missing. That is how you know it arrived.

Neither one cares what is inside the packets. They only deliver.

This becameaddressThe host in __SITE__/aarav turns into an IP address

ProtocolRules for delivery that ignore what is inside.

RUNG 4Delivered, but what do you want?

Think first

Delivery works. But the receiving machine still does not know what you want. What else must the message say, and what should come back?

Try it · build the message until the machine says 201

Turn each part on or off and watch the reply. The machine checks in order: address, action, key, package.

—
Sent over Anyone between you and the machine reads:

Reveal what humans invented

HTTP1989 to 1991 · Tim Berners-Lee at CERN · about 35 years ago

A request carries an action (the method), an address, headers written on the envelope, and a body inside it. A reply carries a status code and a body. Every API you call today still works this way.

HTTPS is HTTP inside a sealed envelope. Switch to http above and anyone between you and the machine can read your key. The S seals it. That was your DM in Round Three.

This becameactionkeycodethe key is a header, written on the envelope

ProtocolInput → Process → Output, across a wire.

RUNG 5Fifty companies, fifty words

Think first

Company A calls it getDiagnosis, B calls it fetchDiag, C calls it retrieveDiagnosis. What goes wrong when you connect to 50 of them?

Try it · sort twelve names into four buckets

Tap a name, then tap the bucket it belongs in. Three companies already need twelve words.

Reveal what humans invented

REST2000 · Roy Fielding's PhD dissertation

Addresses are nouns: /diagnoses, /workflows/7. A handful of shared verbs act on them: Create, Read, Update, Delete. On the wire they are spelled POST, GET, PUT or PATCH, and DELETE. Learn four words once, and every REST API speaks them.

CRUD is a term from 1983. It comes back in Block 1 · Week 3 · Databases and domain modelling, where a database does the same four things to a table.

This becameaddressaction/diagnoses plus CREATE

ProtocolAn agreement on how to use HTTP. Strictly a design style, not a protocol of its own.

RUNG 6Two programs, one package

Think first

The machine said 400 until you used curly braces. Aarav's UI might be written in Python and the diagnosis machine in JavaScript. Why would both accept curly braces?

Try it · break the package, then fix it

The same data, in a format someone made up

WORKFLOW>>I open Jira, read the week's tickets, write a status report and post it on Slack;;TIME>>90min;;

Would a Python program and a JavaScript program both read this? Who wrote the rules for >> and ;;? What happens when the workflow itself contains ;;?

Reveal what humans invented

JSON2001 · Douglas Crockford · standardised as ECMA-404 (2013) and RFC 8259 (2017)

Plain text: keys and values in curly braces, every key in double quotes. JSON is a format, not a language. A .docx opens in Word and in Google Docs because both agree on the file format. JSON works the same way: every programming language and every API tool reads it, which is why it became the web's default package format.

The error you just caused is the 400 from Round Three: "Can't read."

This becamepackage{"workflow": "..."}

Common languageFor the contents of the envelope.

CLOSESix inventions, two principles

Look at the envelope. Every part of your Round Three message is there, and each one exists because something failed without it.

Common language

What the signals mean

  • Rung 1 · Morse code
  • Rung 2 · ASCII, then UTF-8
  • Rung 6 · JSON

Protocol

How the signals travel

  • Rung 3 · TCP/IP
  • Rung 4 · HTTP, then HTTPS
  • Rung 5 · REST, a style for using HTTP

Now proven six times

An interface is a common language plus a protocol.

And every rung was the same shape:

Input

The requestaddress, action, key, package

Process

The machineon the other end of the wire

Output

The replycode and package

One question to keep

Groq is not OpenAI, yet Groq's address says /openai/v1. Once enough programs speak one format, competitors adopt it, so code written for one works on the other. ASCII won that way. HTTP won that way. JSON won that way. Now the AI world is doing it with the messages package.

In a few weeks a model will need to talk to tools it has never seen. Same answer: an agreed JSON format and a protocol.

Every part is there because something failed without it.Next: send a real request in the Request Builder · read it all again in the notes