Learn Smithy by writing it.

Short, focused lessons on the Smithy IDL — each ending with a hands-on exercise you write in the browser and check against the real Smithy compiler. Diagnostics come straight from the model assembler, inline.

Lessons

  1. 01 What is Smithy? A model-first, protocol-agnostic IDL for describing services once and generating everywhere. →
  2. 02 Simple shapes Strings, numbers, booleans, timestamps, blobs — and how to name your own. →
  3. 03 Structures Records with typed members — the shape you'll reach for most. →
  4. 04 Lists & maps Aggregate collections — ordered lists and string-keyed maps (and where set went). →
  5. 05 Unions Tagged unions — a value that is exactly one of several named variants. →
  6. 06 Traits Typed annotations that add docs and constraints without changing the type. →
  7. 07 Services & operations Describe an API — a service of operations, each with an input and output. →
  8. 08 HTTP bindings Layer REST onto an operation — method, URI, status, and where each member goes. →
  9. 09 @httpPayload Bind a single member as the raw HTTP body instead of the default JSON envelope. →
  10. 10 Resources Model entities with identity and bind lifecycle operations to them. →
  11. 11 Errors Model failures as structures and attach them to operations. →
  12. 12 Challenge: match this HTTP request Reverse the usual direction — given a concrete HTTP exchange, write the Smithy that produces it. →
  13. 13 Capstone: the Weather service Put it all together — model Smithy's canonical Weather service end to end. →