THE OPEN WORKSHOP / BY ZACH CHESTER

Free. No signup.

Learn to build
AI apps.

Learn AI app building by making one useful thing. Trace the code, break the workflow, and prove your fix.

Six guided lessons. A complete Node app.
No AI key needed for local practice.

06 focused lessons03 browser experiments01 working app to keepMIT source kit ↓

01 / THE GUIDED BUILD

One app.
Six things
you’ll understand.

Build an AI enquiry assistant: a real form, persistent records, optional drafts and a protected operator inbox.

What should I know first?

Bring a code editor, a terminal and Node.js 22.22+. You will read and change JavaScript files. New to these tools? Start with MDN’s environment setup, then return to lesson 01.

The source app runs without packages or an AI key. Optional live AI uses your own provider account and can incur charges.

See the complete project and setup ↗
  1. LESSON 01Explore ↗

    Give your AI app one job

    Trace a request from a form to a saved record and a human review.

    Read → change → check
  2. LESSON 02Explore ↗

    Save the enquiry before calling AI

    Keep the original request when an optional AI step fails.

    Read → change → check
  3. LESSON 03Explore ↗

    Add an AI draft you can verify

    Distinguish valid output structure from a factually supported draft.

    Read → change → check
  4. LESSON 04Explore ↗

    Make review an explicit human action

    Check permissions on the server and separate reviewed from sent.

    Read → change → check
  5. LESSON 05Explore ↗

    Break the workflow before users do

    Test a failure without losing the record or calling a paid provider.

    Read → change → check
  6. LESSON 06Explore ↗

    Deploy without losing the inbox

    Verify storage and the complete journey on the deployed system.

    Read → change → check

02 / THINK IT THROUGH. THEN TRY IT.

Small bugs.
Big lessons.

Choose a design. Run a local simulation. Read the trace to see what your choice changes. No setup, model calls or real customer data.

LOCAL SIMULATION / SAVE

The AI call fails. Does the enquiry survive?

A fictional request arrives. The optional draft step times out. Choose the order of operations before running it.

Which design would you choose?
Read the principle

Keep the original before attempting optional work. In the full source app, an operator requests the draft separately after the enquiry has been saved.

SIMULATION TRACEWAITING FOR YOUR CHOICE
await draft();
await save();

// or

await save();
await draft();
  1. Pick a design, then run the simulation.

Understand the code in the full lesson ↗
LOCAL SIMULATION / ACCESS

An anonymous caller knows the admin URL. Now what?

A private inbox contains one fictional enquiry. Choose the access boundary to test.

Which design would you choose?
Read the principle

A hidden link changes navigation. A server permission check controls whether the records leave the server.

SIMULATION TRACEWAITING FOR YOUR CHOICE
hideAdminLink();
return enquiries;

// or

if (!session) return 401;
return enquiries;
  1. Pick a design, then run the simulation.

Understand the code in the full lesson ↗
LOCAL SIMULATION / FACTS

Valid JSON says $200. The sender never gave a budget.

Original: “We need an enquiry inbox. Timing and budget are undecided.” Fixture draft: “Build an inbox for $200.”

Which design would you choose?
Read the principle

A schema can accept the right fields with the wrong facts. Keep budget and timing unknown until the sender establishes them.

SIMULATION TRACEWAITING FOR YOUR CHOICE
validateShape(draft);
accept(draft);

// or

validateShape(draft);
compareWithOriginal(draft);
  1. Pick a design, then run the simulation.

Understand the code in the full lesson ↗

03 / ALREADY BUILDING? START WITH THE FAILURE.

Find the thing
that doesn’t hold up.

01 / FEATURED TOOL · FREE & OPEN SOURCE

Shopify
Changelog

Give your coding agent Shopify release context alongside the docs. Search official updates and find candidate changes relevant to your project.

Codex + Claude CodeLocal CLINo API key
TRY IT IN YOUR OWN PROJECT
shopify-updates check /path/to/project   --task "add order tracking"

The check points to matching project files and release entries. Read the evidence before changing code.

v0.2.0 release notes ↗

BEFORE YOU START

A few straight answers.

Is this a free vibe coding course?

The six guided lessons, browser experiments and MIT-licensed source are free, with no signup. The emphasis is understanding and testing an AI-assisted app, rather than collecting prompts. Optional live AI requests use your own provider account.

Will I build an actual AI app?

You will run a real local enquiry app with saved records and operator review. It works with rules first; a separate lesson explains optional AI drafts. Browser simulations are small teaching models, not the full app.

Does finishing a lesson prove my app is production-ready?

No. Progress records your own concept and hands-on checks in this browser. The deployment lesson explains the additional storage, access and failure checks needed on an actual hosted pilot.