Building modern Elixir applications often means stitching together dozens of libraries and hand-rolling repetitive layers of boilerplate for APIs, authorization, data validation, and more. What if you could declare your domain model once and get a JSON:API, a GraphQL endpoint, fine-grained authorization policies, and field-level security almost for free?
In this talk, we'll explore the Ash Framework — a declarative, resource-oriented toolkit for Elixir that lets you model your domain in a single place and then extend it with a rich ecosystem of packages. We'll start from a simple resource definition with actions, attributes, and relationships, and then progressively layer on a JSON:API with AshJsonApi, a GraphQL API with AshGraphql, and robust access control using Ash's built-in policy authorizer and field policies. Along the way, you'll see how Ash's extension architecture means you're not locked into a monolithic framework — you opt in to exactly the capabilities you need, one declaration at a time.
