January 11, 2024 • 7 min read

Books of 2023

I read 42 books this year, a good year for reading

March 22, 2023 • 5 min read

Takeaways from creation of React

Lessons beyond purely technical side of things from creation of one of the most popular frontend frameworks

February 09, 2023 • 30 min read

Layout components and primitives

RFC on building layout components and primitives in Blade, Razorpay’s open source cross platform design system. Read more on the GitHub repo 🌟

December 05, 2021 • 7 min read

Build Simpler Components

Patterns for building components with good code readability and simplicity

December 02, 2020 • 8 min read

Boost Android performance using Hermes

On how we improved performance of our apps with Hermes engine. Featured on Instawork engineering blog 🌟

November 13, 2020 • 1 min read

Adding comments to Gatsby with Utterances

How I added comments backed by GitHub on my Gatsby blog with utteranc.es

October 30, 2020 • 3 min read

Ten things I’ve learnt

A personal list of ten things I’ve learnt condensed into one post

July 03, 2020 • 6 min read

React debounce and throttle with hooks

How to use debounce and throttle and abstract them into hooks

May 29, 2020 • 4 min read

Active record pattern in Typeorm

Comparing active record pattern with the data mapper pattern and when to use which

May 15, 2020 • 4 min read

Use Variable Fonts

A concise guide on why and how to use variable fonts on the web

April 01, 2020 • 4 min read

Custom eslint and prettier config

Managing the linting and formatting needs of your entire JS infra with a single package

January 25, 2020 • 7 min read

Property descriptors, getters and setters

Customize object properties and their behavior

January 03, 2020 • 2 min read

Auto boxing

How are we able to call object methods on primitive values in JavaScript?

December 10, 2019 • 4 min read

HTTP Requests

Behavior and properties of different HTTP request methods

December 04, 2019 • 3 min read

Point free programming and function composition

Point free programming (a.k.a. Tacit programming), formally, is a programming paradigm in which function definitions don’t include…

December 01, 2019 • 7 min read

Function arity and partial application

Partial application is an interesting functional programming technique to prepare (and simplify) a function for future use. More…

November 02, 2019 • 5 min read

Stacked Pull Requests

Effective code review on merging large changes with stacked PRs

October 21, 2019 • 6 min read

Functional programming constructs

Functional programming is a declarative programming paradigm that focuses on composition using pure functions. It avoids mutation of state…

September 02, 2019 • 5 min read

Micro and macro task queue

Micro and macro task queues within JavaScript’s event loop context

August 16, 2019 • 2 min read

Temporal Dead Zone

Temporal Dead Zone (TDZ) for block scoped variables in JavaScript

August 11, 2019 • 2 min read

Negative Zero in JavaScript

Classical mathematics has no notion of a negative zero. Zero is often termed neither positive nor negative. In computing, however, there is…

August 10, 2019 • 4 min read

OG tags in Gatsby

A comprehensive guide on implementing open graph tags in GatsbyJS.

August 04, 2019 • 10 min read

Dark mode in Gatsby

A comprehensive guide on implementing dark mode in GatsbyJS.

March 19, 2019 • 7 min read

Scaffolding your React Native/Redux app with Yeoman generators

On how we built module scaffolding for our React Native apps. Featured on Instawork engineering blog 🌟

June 29, 2017 • 5 min read

Memoize JavaScript Functions

On how to use memoize to cache JavaScript function results and speed up your code. Featured on FreeCodeCamp blog 🌟

A successful man is one who can lay a firm foundation with the bricks that others throw at him. - Sidney Greenberg