I think you're talking about two different things: api design and general "code design".
API on wikipedia
In computer programming, an application programming interface (API) is a set of subroutine definitions,protocols, and tools for building software. In general terms, it is a set of clearly defined methods of communication between various components.
So API means how you will call some system to do a task for you. I would simplify that idea to "top level function prototypes for a given system". While code design (e.g. compression oriented design) is more about how you design the internal of the system.
Write the usage code first refers to api design (see
Designing and Evaluating Reusable Components - 2004 at 44:45). It helps you end up with an interface that correspond to what you want to use. Compression oriented design help you keep the code clean and easy to maintain. You write the simple thing first to know what you are dealing with and better understand the problem. Then you compress and see what the code becomes. At some point you'll need to make the API and the code fits together. You can change both sides. Writing the code probably raised some things you didn't expected with the API, and writing the API probably guided some of the choices you made while writing the code.
This video from Allen Webster (at 6:00) shows him reviewing some "usage code" before implementing it (I guess, I haven't watch the whole video) and maybe there is the part where he writes the usage code in a previous video.