On a platform with 8+ million accounts built on top of a Cognito User Pool we ran into several annoyances with the service. Since we were not using it in the traditional way, we were able to completely replace it with a custom solution using DynamoDB. I will cover the reasons why we wanted to move away from Cognito, which challenges we faced and how we solved them with zero downtime or user impact. Since then, we’re saving up to 80% of our AWS bill while supporting higher load.