How to setup geofencing and IP allow-list for Cognito user pool

AWS announced a new feature this week that lets you enable WAF protection for Cognito user pools. And one of the things you can do with this is to implement geo-fencing and IP allow/deny lists. Geo-fencing and IP allow/deny lists are usually implemented in the frontend as well as the backend APIs. But users (and …

How to setup geofencing and IP allow-list for Cognito user pool Read More »

Amplify: how to fix images that show up locally but not after deployment

You might have encountered this issue when using Amplify to host your single-page applications. An image in the public folder would show up perfectly fine when running locally but it was not found on the live site after Amplify deployed your change. Curiously, this only happens with some images – jpeg, avif, webp… The reason …

Amplify: how to fix images that show up locally but not after deployment Read More »

Amplify: you shouldn’t allow redirect from apex to www

Update 04/08/2022: turns out there are some valid reasons (analytics and potentially SEO) for redirecting from the apex domain to www. Please see comments from Michael Hart, Mike Lamb and Tyler Love to my tweet here for more details.   I have used Amplify to host all my single-page applications, including the newly revamped sites …

Amplify: you shouldn’t allow redirect from apex to www Read More »

10 performance optimization tips I learned after rebuilding two course landing pages

I recently rebuilt the landing page for both AppSync Masterclass and Production-Ready Serverless. The sites were hosted on Shifter (think serverless WordPress) and Wix respectively. In both cases, the performance of the sites (especially on mobile) left a lot to be desired. A large portion of the user traffics to these sites comes from mobile. …

10 performance optimization tips I learned after rebuilding two course landing pages Read More »

How to add a subtle gradient on top of an image using CSS

As I rebuild the landing page for the AppSync Masterclass I wanted to give this boring “about me” section a facelift. After taking inspiration from other landing pages, I decided to go with something like this. Notice the gradient effect towards the bottom of each image? It provides a nice backdrop and contrast for the …

How to add a subtle gradient on top of an image using CSS Read More »

How to add a zoom in effect with CSS

As I rebuild the landing page for the AppSync Masterclass, I wanted to add a zoom-in effect to some of the images, like this: After some googling and a bit of experimentation, this is what I ended up with. <figure class=”img-hover-zoom”> <figcaption>…</figcaption> <img src=”…”> </figure> When it’s hovered over, the <img> tag would scale up. …

How to add a zoom in effect with CSS Read More »

Don’t embed YouTube videos on your landing page

I recently looked at the AppSync Masterclass‘s landing page on PageSpeed Insight and didn’t like what I saw… It’s hosted by Shifter and was straightforward to set up. Shifter offers a kind of serverless WordPress and promised to combine WordPress’s convenience with the performance of statically-generated websites. But there are a large number of CSS …

Don’t embed YouTube videos on your landing page Read More »

How to work around CloudFormation circular dependencies

An interesting question came up on the AppSync Masterclass forum, and it highlights a common way you can get into CloudFormation circular dependencies. In the CloudFormation stack, there is an AppSync API, which uses a Cognito User Pool for authentication and authorization. When a user signs up, the app should fire an update on a …

How to work around CloudFormation circular dependencies Read More »

My testing strategy for serverless applications

As a consultant, I have helped a lot of clients with their architecture and built a couple of serverless applications for clients from scratch. And the no. 1 question I get about serverless is around testing. “How should I test these cloud-hosted functions?” “Should I use local simulators?” “How do I run these in my …

My testing strategy for serverless applications Read More »

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close