The Entity-Attribute-Value (EAV) data model is a design pattern to overcome the limitations of traditional relational databases. It's goal is to encode entities with a variable and disparate number of attributes. It is efficient in terms of storage and it respects the rules of normalization. However, it doesn't scale well, it degrades performance in the mid-term, and it complicates your software design, from backend to frontend. It has been used for many years because there wasn't anything better. With PostgreSQL support for JSON and ARRAY it is not only possible to stop using this deprecated pattern entirely, it also feels natural to design entities with different attributes.
In our previous webinar "Fantastic Data Types and Where to Use them", we gave a short hint on how to do this. Because of the interest and positive reactions, this webinar was entirely dedicated to JSON/JSONB/ARRAY, and how to axe the archaic EAV pattern from your database.