Murtuzaali Surti

Murtuzaali Surti

Software engineer who loves to write about all things web!


Docker — Containerizing a Nextjs Application

Containerization in it's entirety is an incredibly useful concept. From being able to execute applications in isolation, to being able to port them easily with all of their dependencies and configuration is all a developer could ask for. [...]

WebSockets 101

WebSockets implement a full-duplex, bi-directional, TCP-based protocol, denoted by ws(s)://, which enables a persistent connection between the client and the server. Back when websockets weren't a thing [...]'s Partytown with 11ty

Exploring's partytown and integrating it with 11ty! It is nothing but a library which uses web workers to separately execute third party scripts. [...]

Why I love Markdown

I was introduced to it when I started using github for hosting my projects. That was my first encounter with markdown and since then, I never looked back. Here's why. [...]

What is DOM diffing?

DOM, also known as the Document Object Model, is a programmatic representation of the contents of a web page. In other words, the content of a web page is represented in the form of objects and nodes. [...]

Using Fontsource With 11ty

For quite some time, I was searching for a way to self host google fonts because the google fonts API's network request increased the render blocking time more than I expected. [...]

Creating Git Hooks Using Husky

They are used to verify everything is as expected before or after executing a git command or action. Some common applications include formatting the code before committing, performing build step before pushing the code to production, etc. [...]

Setting Background Color of Body Dynamically in React

You can specify the background color of body in a global stylesheet, but it's not easy to update the background color dynamically for different pages in your website. So, I went on to code a hacky but working patch using CSS custom properties. [...]

Minify JavaScript Using Terser

Terser is a javascript compressor and mangler supporting ES6+ specification. In this tutorial, you will get to know how to use terser to minify or compress javascript. [...]

Deploying React App to Netlify

In this tutorial, I am going to show you how you can deploy a react app on netlify from an existing git repository of yours. [...]

How to vendor prefix and minify CSS?

Writing CSS from scratch along with adding vendor prefixes can be a daunting task if done manually. Vendor-prefixes can be easily added using the autoprefixer plugin of PostCSS. [...]

Eleventy - Shortcode for Embedding Codepen

Shortcodes are used to invoke a particular function which returns some html or any other data based on the information that is passed. They are mainly used to reuse html templates which require some preprocessing. [...]

Optional Chaining in JavaScript

Optional Chaining in JavaScript is used to return undefined for accessing an object property that doesn't exist and whose parent property is nullish (null or undefined). [...]

IIFE in JavaScript

You might be familiar with functions in JavaScript. An IIFE is a special type of function which is invoked implicitly. [...]

Dark mode toggle animation using CSS!

This tutorial will mainly focus on how to use transitions in CSS and make a toggle button for light as well as dark mode using little JavaScript. Let's dive into the world of transitions! [...]

How to create a notification badge with CSS?

Notification badges annoy me most of the times by popping up every now and then and I am pretty sure most of you experience similar thing, but anyways, let's see how we can create a notification badge using CSS. [...]