Customer data now stays inside BoB instead of living in a competitor’s dashboard.
Capture and campaign now run in one system. No more downloading contacts from one tool to upload into another.
Owned product management, research, requirements, product design, and testing.
Reviewed requirements, assigned dev bandwidth, cleared blockers with engineering.
Owned backend development and analytics implementation.
Owned frontend development and problem statements specific to custom stores.
Owned go-to-market and adoption.
Surfaced brand feedback that shaped the PRD.
Brands were acquiring customers through someone else’s popup, and BoB rarely got the data it needed to bring that customer back.
Brands captured phone numbers and emails through Wisepops or Poptin. BoB rarely saw any of it.
Brands downloaded contacts from one tool, uploaded into another, to engage with customers on WhatsApp.
System-oriented, hard to set up, and rigid. On-site coupon reveal was the only thing it could do.
I needed to figure out what it would take for brands to ditch competitors and use BoB’s own acquisition popup instead.
Three channels gave me conviction for what to build.
The majority of the signal.
“doesn’t want a mandatory coupon code”
Aquatein
“wants image upload”
The Baby Trunk
“wants image upload”
Feed Smart
“wants subscription and waitlist support”
Bright Verse
“wants WhatsApp instead of on-site reveal”
Truvitals
“wants WhatsApp instead of on-site reveal”
Herbcience
“wants WhatsApp instead of on-site reveal”
Femora
From customer conversations.
“the second popup shouldn’t be mandatory”
CSM Insight
“wanted control over display timing”
CSM Insight
“wanted more visual flexibility than a single brand color”
CSM Insight
Watching how brands actually used popups and adjacent tools day to day.
Product-specific popup
MyBageecha
Exit-intent based popup
MyBageecha
Automated WhatsApp message
MyBageecha
KwikPass — unique user identification
Zero Harm Sciences
Where users got stuck.
Legacy popup module
Brands needed CSM help just to get a popup live and matching their store.
A popup could sit fully configured in BoB and still never go live, with nothing telling the brand why.
No color, no imagery, no personality. Brand color and image upload now ship by default.
Brands wanting WhatsApp delivery, or no coupon at all, had no path.
Four calls that shaped what shipped.
Outcome neededStore admins needed to reach their goal without understanding the system underneath it.
Call I tookI went with goal-to-design instead of design-to-goal approach. The brand picks the goal first, and the system takes care of the rest, instead of building a popup piece by piece and hoping it adds up to what they wanted.
Outcome neededBrands needed to know instantly whether their popup was actually live, not just configured.
Call I tookI chose an in-product popup status that provided visibility on the status of popup.
Outcome neededThe popup needed to feel like part of the brand’s own site, not a generic overlay dropped on top of it.
Call I tookI went with constrained customization over full design freedom. A fixed template with the right controls, brand color, imagery, keeps things consistent while still letting each popup feel like theirs.
Outcome neededBrands needed the popup to serve different goals, not just hand out coupon codes.
Call I tookI let brands pick what they wanted the popup to do: coupon, subscriber list, or waitlist, and made setup flows only for what was required for that goal.
Giving brands a nudge to switch.
Kyanak ran the WhatsApp and email campaigns to existing brands, and pushed for in-product visibility through ProductFruits, so brands saw the update the moment they logged in.
I built the campaign materials and a setup guide that walked brands through the new flow.
Images broke in production.
Released a fix, in few hours
The problem
Different brands were uploading different ratios which their designers had made for them, due to which images were cropping on both desktop and mobile.
Here’s what happened to a D2C apparel brand called Apurva Label.
Here’s what I fixed
The container had a fixed height. I changed it to fill the container instead, so any ratio a brand uploaded fit properly, regardless of screen size.
/* Before */ .bob-popup-image img, .bob-popup-coupon-image img { height: 250px; object-fit: cover; object-position: top; } /* After */ .bob-popup-image img, .bob-popup-coupon-image img { height: 100%; object-fit: cover; object-position: top; }
Here’s how popups for Apurva Label look after the fix.
Customer data now stays inside BoB instead of living in a competitor’s dashboard.
Capture and campaign now run in one system. No more downloading contacts from one tool to upload into another.
What This Project Taught Me
You don’t build defensibility with one great touchpoint. You build it by owning the whole journey.
BoB was already strong on engagement, campaigns, automations, retention. But none of that builds defensibility on its own.
If a brand’s first touch with a customer still ran through Wisepops or Poptin, the relationship started outside BoB, and could just as easily move to a competitor from there.