This brain dump assumes a frontend js app + backend api are involved. I'll hopefully turn this into a lambda + react blog post.
To setup Cognito User Pools in a way that
- allows users to change their email address
- does not let users overwrite admin values
- fully customizable verification emails