Chat on WhatsApp
All case studiesD2C E-commerce

How a Bangalore D2C skincare brand cut bounce rate 41% with a hand-coded rebuild

A skincare brand was losing mobile shoppers at the homepage because their Shopify theme was shipping 2.1 MB of JavaScript. We rebuilt the storefront on a custom stack, kept the Shopify backend, and cut time-to-interactive from 5.4 seconds to 1.9 seconds.

A Bangalore-based D2C skincare brand March 2026 8 min read Websites
-41%
Bounce rate
+28%
Conversion rate
1.9s
Time to interactive (was 5.4s)
₹14 L
Extra monthly revenue

The challenge

The client had been running on a heavily customised Shopify theme. Every new section added another slew of apps, each with its own JavaScript bundle. By the time we looked at the site, the homepage was shipping 2.1 MB of JS on mobile and mobile Core Web Vitals were in the red: LCP 4.8s, CLS 0.27, INP 380ms.

The business impact was quieter but worse. Mobile bounce rate was 68% (industry benchmark: 45%). Their Meta Ads team was spending ₹4L/month to drive traffic and losing more than half of it before the product grid even rendered.

They didn't want to migrate off Shopify — their ops team, payments, and catalog were tied to it. They needed a storefront that loaded like a static site but kept the Shopify commerce backend.

Our approach

We rebuilt the customer-facing storefront in React + Vite as a Shopify Hydrogen-style headless frontend, kept the Shopify Admin, products, inventory, and checkout intact. All product data was fetched from the Shopify Storefront API at build and revalidated via ISR.

Every UI element was hand-coded. Zero apps on the storefront. The five app integrations they actually needed (reviews, upsells, Klaviyo, WhatsApp, analytics) were re-implemented server-side or loaded after first contentful paint.

The migration was done section-by-section behind a feature flag so the business never saw downtime. We cut over homepage → PDP → collections → cart over a 3-week rolling release, with Vercel preview URLs for QA at every step.

Marketing-side: our team also rewrote the Meta retargeting Pixel integration to send the correct content_ids for the new URL structure, preserving attribution.

The results

Within 4 weeks of going live, mobile bounce rate dropped from 68% to 40%. Meta CPA fell 31% because the same ad spend was now converting a much larger share of the landings.

Add-to-cart rate on mobile went from 7.2% to 11.8%. Conversion rate on mobile rose from 1.6% to 2.05% — a 28% uplift.

At their existing traffic volume, the conversion-rate lift alone was worth ~₹14L/month in extra revenue.

Core Web Vitals on mobile: LCP 1.7s, CLS 0.04, INP 180ms. All in the green, consistent across the 75th percentile of sessions.

Takeaways

  • Apps on Shopify are not free — every bundle is a bounce-rate tax you pay on mobile.
  • Headless doesn't have to mean re-platforming. The Shopify backend + a hand-coded frontend is often the best of both.
  • Rebuilds in the open (with feature flags and preview URLs) de-risk the cutover. This wasn't a hard launch, it was ten small ones.

Thinking about a similar project? Let's talk specifics.

Book a free 45-minute call. Bring your current numbers; we'll bring an honest opinion on what would actually move them.

Book Consultation
Frequently Asked Questions

How a Bangalore D2C skincare brand cut bounce rate 41% with a hand-coded rebuild — FAQ

Questions we usually get about projects like this one.

The outcome above is specific to this client's baseline, market, and constraints — we don't promise identical numbers. What we can replicate is the method: the same diagnostic, the same attribution discipline, and the same hand-coded delivery approach used on this websites engagement. During the discovery call we will map your starting point against this case and tell you what parts of the playbook realistically transfer and which would need to be adjusted.

For websites engagements we default to a lean, well-supported stack: React + Vite for custom frontends, Node.js or serverless functions on Vercel for any backend, Shopify / WooCommerce where commerce is in scope, GA4 + PostHog + server-side tagging for analytics, Meta Ads / Google Ads / LinkedIn Ads for paid, n8n or native Zapier for workflow automation, and Tally / Zoho Books for accounting integrations. We pick the simplest tool that clears the bar — we don't sell stack complexity.

This specific engagement ran for the period referenced above. Typical websites projects of comparable scope take between 4 and 12 weeks from kickoff to launch, with a further 4 weeks of post-launch iteration. Fixed-scope work is priced upfront; open-scope work is run on a monthly retainer with weekly written updates so there are no invoice surprises.

Pricing depends on scope, integrations, and whether we are starting from scratch or improving an existing setup. We publish transparent price bands per dimension on our pricing page — engagements comparable to this case study typically sit in the mid-tier band for Websites. You can see exact ranges at /pricing, and we confirm a fixed fee (or retainer range) before any work begins.

You do. All code is delivered into your GitHub / GitLab organisation. Ad accounts, analytics properties, domains, and hosting sit in your name — not ours — from day one. On handoff we transfer admin access, document every integration, and record a 30-minute video walkthrough of the stack so your next hire or incoming agency can pick it up without us being a single point of failure.

Let's Talk

Let's talk about your business.

Tell us what you're working on and where you want to go. We'll put together a plan. No obligation, no sales pitch.

  • Free 30-minute call
  • A plan built around your goals
  • No obligation, no pressure
  • Your own account manager

By submitting, you agree to our privacy policy. We'll never spam you.