Senior Software
Engineer
building
fast products at scale.
Seven years taking end-to-end ownership of frontend — from architecture decisions and design systems to Core Web Vitals and release pipelines — for travel, automotive and ecommerce products reaching ~30 million users a month.
.jpeg&w=3840&q=75)
What I'm working on this quarter
Migrating react-rails → Vite + Nx
~95% faster builds, decoupled the React app from Ruby on Rails.
Tailwind design system + tokens
Reusable component library for lead, auth and campaign flows.
Browser internals & web performance
From navigation to interactivity — a long-form series on LinkedIn.
AI-assisted product development
Integrating LLM APIs into real product flows — learning where AI adds genuine value vs. noise in user interfaces.
Three problems, three results.
JS bundle, p50 LCP improved on 3G; ranked auto-marketplace #1 in India.
Cut JS bundle by 40% across four auto brands serving 30M users a month.
Four React apps (CarDekho, BikeDekho, TruckDekho, BatteryDekho) shared a 1.2 MB bundle. LCP was suffering on mid-tier Android, and the SEO team was losing rankings to faster competitors.
- Built react-common — the shared component library powering all four brands
- Route-level code splitting + lazy loading + error boundaries
- PWA service-worker with per-resource caching strategies
- React SSR with Express + page-specific critical CSS
Keeping react-common stable across four live brands — any regression simultaneously broke CarDekho, BikeDekho, TruckDekho and BatteryDekho. Mid-tier Android constraints made standard optimisation assumptions wrong.
Chose SSR over a full SPA to protect SEO rankings, accepting server infrastructure complexity. Aggressive route-level code splitting meant more round-trips on slow 3G — a deliberate trade for faster first paint on 4G and above.
Performance is a habit, not a sprint — scores drift without automated budgets in CI. Shared libraries need strict versioning and changelogs from day one; retroactive governance is painful.
Per-change rebuild. Design system shipped to lead, auth and campaign flows.
Decoupled React from Rails and built the design system India's largest experiences marketplace runs on.
Frontend was bolted to a Ruby on Rails build that took ~20s per change. No shared components. Lead and auth flows duplicated logic across 6+ surfaces.
- Migrated build system from Webpack to Vite — ~95% faster builds
- Stood up an Nx monorepo to consolidate frontend code
- Authored Tailwind-based design system with reusable tokens
- Wired Playwright E2E + ESLint/Prettier into every PR via GH Actions
Migrating a live production system while continuing to ship features. Designing a component API flexible enough for three teams but opinionated enough to enforce consistency across lead, auth and campaign surfaces.
Invested two feature sprints upfront on tooling and infra — delayed visible output, but recovered that time within the same quarter through faster iteration. Picked Vite over esbuild for ecosystem maturity, accepting marginally slower cold starts.
Good tooling multiplies team output; bad tooling silently taxes it. A design system without co-shipped docs dies within months — I shipped the documentation alongside the components, not after.
Led a three-person team delivering enterprise frontend builds for commercial-vehicle and EV brands.
CarDekho's client services arm needed pixel-faithful, performance-tuned sites for Ashok Leyland (commercial vehicles), Kinetic Green (EV) and Jansons Carpets — on tight deadlines.
- Owned client builds end-to-end: HTML, CSS, React, GraphQL, AMP, Tailwind
- Set quality bar around performance, accessibility and code review
- Mentored two junior devs via pairing and structured reviews
- Delivered five+ enterprise builds, including AMP-first product pages
Pixel-faithful enterprise builds on tight client deadlines, with limited feedback cycles and no dedicated QA. Accessibility and performance had to be enforced without external oversight.
Used AMP for commercial-vehicle product pages to hit Core Web Vitals thresholds, accepting limited interactivity. Prioritised delivery speed on early projects, taking on deliberate, tracked technical debt cleared in later sprints.
Mentoring forces you to articulate things you assumed were obvious. Performance budgets are far easier to set at project kickoff than to retrofit after launch.
What I reach for, by domain.
Interface
Production React UI at scale
Architecture
Monorepos, design tokens, shared libs
Performance
Core Web Vitals & bundle work
Quality Ops
Testing, CI pipelines, code quality
AI & Emerging Tech
Integrating AI into real product workflows — curiosity over hype
Got something fast
to build?
Ambitious frontend, performance problem, or a platform that needs to scale — drop a line. I respond within 48 hours.
+91 8947972543 · Jaipur, IN · GMT+5:30