LaundryAlert - never forget your laundry again

A few months ago I was hanging my laundry after it stayed in the washing machine for half a day before I remembered I had forgotten to take it out....

Javascript objects are tricky

I just spent four hours debugging a really weird issue… I’m gonna write it up here as a reminder for my future self, and maybe you’ll find it useful too....

Server-sent events or how ChatGPT typing animation works

I’m sure you’ve heard of ChatGPT, the fastest-growing user application in the history of the internet. Most probably you also played with it or even used it for work. This chatting model provides impressive and often mind-blowing responses to a wide range of questions....

Database locks, lost updates and idempotency

Web applications are often complex systems consisting of several parts such as UI (frontend), API (backend), database and often other 3rd party services that the application depends on. Designing the API service properly so it’s robust, secure, and works as expected goes without saying but sometimes there are other factors that should be considered and handled adequately....

Assuming IAM role and role chaining in AWS

Sometimes a user or an application needs to access resources they don’t normally have access to. This is where the AWS Security Token Service (STS) comes in handy. STS is an AWS service used to obtain temporary security credentials for IAM users or roles by using the AssumeRole action....

Running HTTPS on localhost

The majority of websites nowadays are already using HTTPS. Security is very important in today’s world of the internet where you can buy stuff online, check your bank account, communicate with people, or just enjoy watching a movie....

How We Migrated All User Files to AWS S3

Migrating data is often a challenging job, especially when every little mistake can instantly impact a user’s experience. Thus, it is necessary to research the task properly, pinpoint possible issues, and make sure the description is totally clear and everyone knows what is the expected result....