Conference talk video: https://www.youtube.com/watch?v=k_xDi7zAcNM
At a high level Ecto is about 3 main concepts: 1) managing connections to a database, 2) generating SQL, 3) defining and validating schema structs. This talk ignores the first two and focuses on the last part. Ecto 3.0 was refactored to separate core ecto from ecto_sql, but even Ecto 2.0 can be used without a database.
Peek behind the curtain a bit on how Ecto schemas and changesets work to gain intuition on what's possible and troubleshooting ideas when things don't go as you expect. Changesets are remarkably general and can be used to abstract an HTML form from an underlying data storage layout, or to manage advanced search criteria, or even as an anti-corruption layer for not-completely-trusted data coming into your system. We'll explore these use cases with practical code you could start using in your projects tomorrow.