Smithy is AWS's Interface Definition Language (IDL), similar to ProtoBuf and OpenAPI. Unlike these tools, Smithy is protocol-agnostic and flexible enough to work with any protocol.
Smithy achieves this through specialized language features and a modular tooling framework. This allows protocol definitions and related tools — like validators and code generators — to exist as decoupled, reusable packages. These capabilities led us at Juspay to invest in Smithy and to develop our own code-generator plugin for Haskell: https://github.com/juspay/smithy-hs
This talk will explore Smithy's core concepts, show how to model services with it, and demonstrate how to leverage its plugin ecosystem to generate code artifacts.
How Smithy IDL differs from protocol-specific IDLs like OpenAPI
How to model services using Smithy's syntax and constructs
Understanding Smithy's plugin ecosystem and how to leverage existing generators
Our experience with building a codegen plugin for Smithy