Good For Beginners; Bad When You Need Something Advanced
What do you like best?
The ease of use for starting a project is hard to beat, setting up the backend and the code generation is very helpful on small-scale / hobby projects
What do you dislike?
Amplify is heavily abstracted, so the degree of freedom is low for developers. Replacing user pools, for example, is incredibly frustrating. There are lots of safeguards in place, which is nice as a hobbyist developer. However, when you need to perform customized functionality with many moving parts (API, Lambda, User Pools + Custom Attributes, Triggers, Etc), making changes is incredibly frustrating when trying to navigate the limitations they place when it comes to dependencies on other services. It was Amplify's inability to allow me to change service attributes as project requirements change, is what made me give such a low review.
What problems are you solving with the product? What benefits have you realized?
Amplify has allowed be to integrate with AWS services more securely, without revealing critical information directly in the code. I've been able to deploy robust apps globally in a matter of weaks, and have the backend work seamlessly.