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.