Skip to main content
Deepak Kharah.

I build digital experiences that actually work

A Senior Software Engineer who converts energy drinks into clean code. No coffee needed—just pure chaos and determination.

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.

Blogs and Talks.

I sometimes write and talk about my experiences and learnings. You can find them here.

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.

Web StandardsAbortControllerPost Message

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.

TypeScriptNestJSConfiguration

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.

IframesWebSockets

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.

AccessibilityWeb Development

Tech Stack.

Technologies I use to bring ideas to life

Frontend

ReactReact JS
TypeScriptTypeScript
JavaScriptJavaScript
Next.jsNext.js
Tailwind CSSTailwind CSS
HTML5HTML
CSSCSS
ReduxRedux
Zustand
React QueryReact Query

Backend

Node.jsNode.js
ExpressExpress JS
NestJSNest JS
GraphQLGraphQL
MongoDBMongoDB

Testing

JestJest
React Testing Library
Playwright

DevOps

DockerDocker
CI/CD
RedisRedis

Tools

GitGit
GitHubGitHub
VS Code
FigmaFigma

Here's where to find me.

Got an idea? Want to hire me? Or just want to argue about tabs vs spaces? My inbox is open.

Dev tip: try this in your terminal