Virtual attributes mirroring Ecto's virtual fields

Correct. They are stored in an {:array, :map} attribute.

I wanted to make a custom_field the like an attribute on a resource, but your proposal works for now. Thanks for the proposal.