About
Lead Software Engineer with 6+ years building backend services, SDKs, and full-stack products. Happy in the parts most people skip: data layers, auth, cache invalidation, the wiring that decides whether a system actually works.
Currently Lead Product Engineer at Lightwork AI, building a realtime AI-powered property management platform on NestJS microservices + WebSockets with a Next.js surface.
Previously at Novu, the open-source notification infrastructure. Architected parts of the core workflow engine: multi-step pipelines across email, inbox, SMS, and chat, with subscriber-preference evaluation at every layer.
Shipped the new Workflows API replacing the legacy notification-templates system, built the step-condition system on react-querybuilder + JSON schemas, hardened auth (rate limiting, account lockout, password policy), and worked the DAL (cursor pagination, cache invalidation).
On SDKs: led architecture and build pipeline on @novu/js, cutting bundle size 85% (157KB → 21KB) vs the legacy @novu/notification-center. Created @novu/react and @novu/next from scratch; @novu/react overtook the legacy package in npm weekly downloads within months of launch.
Always looking for hard problems to solve and interesting people to build with.
Experience
-
June 2025 — Present - Architected realtime chat and event-driven workflows on NestJS microservices + WebSockets, backed by MongoDB and Redis.
- Led full-stack delivery across AI-powered property management features, scoping with CEO and Product and shipping from API to UI.
- Migrated legacy UI to Next.js + Tailwind + shadcn, improving dev velocity across the team.
- Set up feature flags and PostHog analytics, and established scalable delivery processes across teams.
- Next.js
- TypeScript
- React
- NestJS
- Node.js
- MongoDB
- WebSockets
- Tailwind CSS
- JavaScript
- Shadcn UI
- Microservices
- Event-Driven Architecture
- Redis
-
September 2022 — June 2025 - Architected parts of Novu's core workflow orchestration engine. The system walks a trigger through a multi-step pipeline across email, inbox, SMS, and chat, with subscriber-preference evaluation at every layer.
- Shipped the new Workflows API (NestJS, CQRS-style use-cases) replacing the legacy notification-templates system.
- Built the step-condition system end-to-end on react-querybuilder + JSON schemas (UI + backend), enabling arbitrary per-step rules across workflows.
- Designed the global subscriber preferences engine end-to-end (DAL → use-case → worker → headless and node SDKs).
- Hardened auth (rate limiting, account lockout, password policy), added cursor pagination and fixed cache invalidation in the DAL, and built the Twilio-backed Novu SMS provider with Gupshup DLT compliance.
- Created @novu/react and @novu/next from scratch. @novu/react overtook the legacy @novu/notification-center in npm weekly downloads within months of launch.
- Led architecture and build pipeline on @novu/js, cutting bundle size 85% (157KB → 21KB) and load time 86% vs the legacy @novu/notification-center. Also architected @novu/client and rewrote it off axios onto native fetch.
- TypeScript
- SolidJS
- React
- NestJS
- Node.js
- MongoDB
- WebSockets
- Tailwind CSS
- JavaScript
-
March 2021 — August 2022 Led frontend development for Blink Payment, a Payment Gateway as a Service. Built Blink Pages, integrated Cardstream and SagePay, and implemented features like virtual terminals and repeat payments. Managed deployments using AWS CodePipeline, CodeBuild, and CloudFront.
- React
- TypeScript
- Material UI
- Node.js
- AWS CodePipeline
- AWS CloudFront
- AWS S3
- JavaScript
-
-
January 2020 — January 2021 Built responsive UIs for ZipDJ, a music streaming platform. Implemented a custom music player, improved performance using eager loading, and integrated ElasticSearch for faster search. Also worked on integrating Mega.nz cloud storage for Spinvault.
- React
- SCSS
- JavaScript
- ElasticSearch
- Bootstrap
- Node.js
-
Projects
-
@novu/react
React SDK for Novu, built from scratch as a modern, lightweight replacement for @novu/notification-center with faster load, an 85%-smaller bundle, and composable headless primitives. Overtook the legacy package in npm weekly downloads within months.
- TypeScript
- React
- SolidJS
-
-
hour.zone
Timezone comparison for remote teams. Pick two cities, get a 48-hour ledger with 9-to-5 overlap already highlighted. No clock walls, no mental math. Share the URL (hour.zone/bangalore/san-francisco) and everyone sees the same meeting slots. Keyboard-driven for ≤15-second use mid-Slack or mid-calendar invite. No signup.
- Astro
- React
- TypeScript
- Tailwind CSS
-
-
@biswaviraj/cc-setup
Set up your Claude Code plugins and MCP servers with one command. Define your stack once, reuse it on every project. No more copying configs across repos.
- TypeScript
- Node.js
- CLI
-
-
@biswaviraj/time-travel
Add undo/redo to any React app with one hook. Step back, step forward, or jump ten steps at once through state history. Zero dependencies, fully typed.
- TypeScript
- React
- JavaScript
-
-
PlaYT
Stream or download YouTube audio from your terminal. Local caching means faster replays and less bandwidth. Minimal, fast, no browser needed.
- JavaScript
- Node.js
- Command Line Interface
- VLC
- YouTube API
- CommanderJS
-
Blog
Coming soon.