About Me.
I am the kind of developer who wants to do more than just code. I love to see products evolve. Hence, I always get involved in the products' end-to-end flow, not just in the development. My Journey at Contentstack is a testament to this fact.
I am a developer who reads documentation for fun (yes, really) and thinks debugging is just an elaborate puzzle game. I started coding because I was too lazy to do things manually—it turns out automation is just socially acceptable laziness.
When I'm not shipping features or breaking production (kidding... mostly), you'll find me writing on Medium about the war stories from the trenches, experimenting with wild UI ideas on CodePen, or contributing to open source projects that scratch my own itch.
“The best code is the code you don't have to write. The second best? Code that doesn't make your colleagues cry during code review.”
Open Source Contributor
Building tools the community actually wants to use
Medium Blogger
Writing about the stuff that makes me go wow
CodePen Tinkerer
Small UI experiments that sometimes go viral
Professional Experience.
I've been at Contentstack since 2020, where I joined as a final-year engineering intern and have grown into a Senior Software Engineer 2. I built our Rich Text Editors from scratch, shipped Live Preview — one of the platform's most successful features — and went on to architect the Extension Framework & App SDK, Contentstack's first ever AI powered features, and the new Visual Builder.
Featured Work.
Projects that solve real problems or were just fun to build. Some are open source, some are made for production. All taught me something new.
Well, of course, the list of projects and pens you see up there is not exhaustive. I just put a few of them up there to give you a glimpse of what I do. Some are full-scale projects with their own repositories and, when possible, a live app for you to explore. Rest of them are small fun UI projects.
When a full-scale project is completed, I showcase it on my LinkedIn Profile. Some of them have been released as NPM packages. You can visit my GitHub Repository Page to look at all my open-source projects irrespective of their completion state. Finally, all my minute UI projects are available on my Codepen.
Blogs and Talks.
I sometimes write and talk about my experiences and learnings. You can find them here.
Should You Re-Export from index.ts? That's the Question.
Published on Dec 28, 2025
Barrel files — those index.ts files that re-export everything in a folder for cleaner imports — are everywhere in my projects, but I'd read they carry a performance cost. So I built a Next.js 15 experiment with 100 components and measured the bundle across wildcard exports, named exports, and direct imports. This article walks through the data, the 'barrel tax' I found on both the client and server bundles, and why module resolution makes it happen.
Your Browser Tabs Are Strangers. Let's Fix That Using Broadcast Channel APIs
Published on Dec 19, 2025
Inspired by an experiment that synced particle visualizations across separate browser windows, I dug into how tabs can actually talk to each other. I'd previously decoupled a feature so actions in one window were reflected in another — handy for people working across dual monitors. In this article, I explain the Broadcast Channel API and how to use it to share state across tabs and windows cleanly.
In a search for a good type-safe NestJS Configuration setup.
Published on Sep 29, 2025
While building Contentstack Academy, we made some decisions to improve the overall developer experience of our backend. Many relate to strongly typing our codebase to avoid second-guessing and improve autocomplete, linting, and syntax highlighting. In this article, I wrote about how our configuration module evolved, from adding types to the environment variables to writing JSON schemas, ensuring its use is less error-prone.
Cancel culture comes to postMessage and it's a good thing
Published on Mar 08, 2025
I was learning about web standards and discovered the AbortController API. Many SDKs and APIs implement AbortController to simplify their actions. I wrote about how it works, how it can be used to cancel post-message requests, and how I implemented it in my Advanced Post Message SDK.
Nuances of Iframe: Lessons from Contentstack Live Preview
Presented at React India 2024 - Remote Edition on Oct 15, 2024
In this talk, I discussed the journey of building the Live Preview feature for Contentstack and the challenges we faced along the way. I built a companion page that houses all the examples to demonstrate the concepts and challenges we faced.
Shipping a JS SDK in the development environment
Published on Feb 11, 2024
Developing an SDK is different from building a web app — an SDK can't run on its own, so you need a separate project to consume it while you work. I wrote about how we ship our SDK across local, dev, and production environments so a consuming app can pick up changes quickly. Aimed at developers building a JS SDK for the first time, it covers local linking with npm, a prepare script that runs the build, and the flow between environments.
Breaking Barriers: Building Accessible Web Apps
Presented at Contentstack TechX 2023 on May 19, 2023
This was my first-ever tech talk, in which I explained that accessible features are not built exclusively for people with disabilities. It can improve user experience for everyone. Spoke about leveraging built-in accessibility features by using the right tools. Shared some practical tips to improve overall accessibility.
Tech Stack.
Technologies I use to bring ideas to life