Blog

I write about the projects I've worked on, and my experience and learnings along the way

Splitting a Microservice

We had a microservice hosted in Google Kubernetes Engine that was giving us 5xx errors during scaling. We explore the reasons and solution in this post.

07 Apr 2024

Tree Cache

How we implemented a type safe distributed cache in TS that supported partial invalidations

18 Feb 2024

2023 - Year In Review

As a software engineer, I helped build a few systems and products at work this year. Here I present a high level overview of my learnings and thoughts without specificities to the products I built.

19 Dec 2023

Exploding with Type Safety

We explore the operation of exploding an object in this post, and make it robust by adding strong typing for its inputs and output

24 Sep 2023

Recursive Types

An exploration of recursive logic in the type domain

16 Sep 2023

Making Types Work for You

How to TypeScript without writing types

07 Sep 2023

Lazy is hard

Implementing Lazy access in TS with Key Mapping

06 Aug 2022

Lazy is Easy

Evaluating lazy helps to save computation power. But, how we can implement one?

23 Jul 2022

The Literal Magic

How I solved typing object key mapping in TypeScript

10 Jul 2022

The Implicit Arguments

Scala's functions are different since they accept two set of arguments as opposed to one in many programming languages. What does it serve? Let's look into it...

25 Jun 2022

Exploring NextJS ISR

How I used NextJS' Incremental Static Regeneration in our static e-commerce website and built a GraphCMS extension to trigger it

23 May 2022

Project Morpheous

How I built a fluent interface to transform spreadsheet data into JSON that can be imported via the APIs.

12 May 2022

Pulumification

Experience and learnings during project that migrated the infra of a company to IaC using Pulumi

11 May 2022

From No-Code to Code

How I migrated our E-Commerce shop from No-Code tool to NextJS

09 May 2022