← Portfolio
Product case study · Concept Resume

Wapsi.

Bringing abandoned carts back over WhatsApp: a message at the right moment to the right shopper, and nothing to everyone else.

Product
B2B SaaS for D2C online stores
Market
India, WhatsApp-first shoppers
My role
Discovery, product design, system design, prototype
Stage
0→1 concept, 2026

The problem

Most carts never reach checkout, and the usual fixes waste money

A shopper who fills a cart has already done the hard part. Store owners know these people are close, yet the tools they have either don't reach them or treat every cart the same way.

  • Email reminders go unreadMany Indian shoppers check WhatsApp far more often than their inbox, and plenty check out without giving an email at all.
  • Blanket discounts burn marginSending 10% off to every abandoned cart rewards people who were coming back anyway.
  • Nobody knows the real liftTools count every order that follows a message as "recovered", including orders that would have happened regardless.
  • Careless sending gets punishedShoppers block brands that message too often, and WhatsApp limits accounts with poor feedback.

Try the decision engine

Every cart gets a decision, not a blast

Forty-five minutes after a cart goes quiet, Wapsi runs the same checks in the same order. Change the situation below and watch the decision and its reasoning update.

Did the shopper opt in to WhatsApp messages?
Is there an order on another device or by cash on delivery?
Are the items still in stock?
What time is it for the shopper?
What does the intent model predict?
Decision Remind now, keep the offer for later This shopper is persuadable. A plain reminder goes first, and a small offer follows only if there is no response.
    Message sent Hi Riya, your two shirts are still in your cart at Ivy & Loom, and your sizes are in stock. Tap below to finish your order.

    That was one decision. The live demo runs the whole product: a shopper abandons a cart, every check runs, the WhatsApp message arrives, the order comes back, and the results update against the holdout.

    Open the live demo

    Product decisions

    Five calls that shaped the product

    Each one traded something away. These are the choices I would defend in a review.

    Capture the phone number before the cart, not after it

    Chose
    OTP login or a phone field at the first checkout step, with an unticked WhatsApp opt-in
    Over
    Messaging only shoppers who completed signup
    Because
    A shopper with no number cannot be reached by anyone. The share of carts with a number and consent caps everything downstream, so it became the first metric.

    Templates for the first message, AI only after a reply

    Chose
    Pre-approved templates with variables, then a reply assistant inside the open chat
    Over
    AI-written first messages
    Because
    WhatsApp only allows approved templates outside the 24-hour customer window. Working within that rule also keeps every first touch brand-safe and reviewable.

    Sweep idle carts on a schedule instead of setting a timer per cart

    Chose
    A query every five minutes for carts idle 45 to 50 minutes with no order and no reminder sent
    Over
    One delayed job per cart, cancelled on activity
    Because
    No orphaned timers, nothing to cancel, and a missed run fixes itself on the next sweep. It holds up comfortably at small and mid-sized store volumes.

    Give discounts by expected lift, not by default

    Chose
    Offers only for shoppers the model rates as persuadable
    Over
    The same coupon in every reminder
    Because
    Shoppers who would return anyway don't need an offer, and casual browsers rarely convert with one. Margin goes where it changes the outcome.

    Hold out a control group from the first day

    Chose
    A random 10% of eligible carts receives no message
    Over
    Counting every post-message order as recovered
    Because
    Store owners renew when the number is believable. Comparing against untouched carts shows sales the product truly added.

    System design

    How a cart moves through Wapsi

    Eight parts, in the order a single cart passes through them. The highlighted three hold the product logic; the rest is reliable plumbing.

    Store events

    Site and app send add_to_cart, checkout_started and order_placed. Orders are also confirmed server-side.

    Identity and consent

    Anonymous visits merge into one profile at login. Opt-ins are stored with time, source and wording.

    Cart state store

    Postgres holds carts, orders, consent and a log of every message, keyed so nothing sends twice.

    Idle-cart sweep

    Every five minutes, finds carts quiet for 45 minutes with no order and no reminder.

    Pre-send checks

    Consent, orders on any device, stock, price, quiet hours and per-shopper limits.

    Decision model

    Scores intent, then picks the template, the timing and whether an offer is worth it.

    WhatsApp delivery

    Cloud API sends the template with a signed link that rebuilds the cart on any device.

    Replies and reporting

    An assistant answers from live stock and policy, hands off to staff, and feeds the dashboard.

    Delivery, read and reply webhooks flow back into the cart state store, so a STOP reply or a failed delivery changes the next decision straight away.

    Measuring success

    One number for the owner, and the levers behind it

    North star

    Incremental recovered revenue per month

    Revenue from messaged carts minus what the holdout group recovered on its own, scaled to the same size.

    Inputs

    • Reachable carts: share with a number and consent
    • Delivery rate of reminders
    • Taps through to the restored cart
    • Recovery rate against holdout

    Efficiency

    • Message cost per recovered order
    • Discount spend per recovered order
    • Share of replies resolved without staff

    Guardrails

    • Block and report rate
    • Opt-out rate per 1,000 messages
    • WhatsApp quality rating

    Rollout plan

    Ship the simple version, earn the clever one

    1. Phase 1

      Rules and one reminder

      Consent capture, the idle-cart sweep, every pre-send check, one approved template and the holdout group.

      Move on when: recovery beats the holdout and the block rate stays low.

    2. Phase 2

      Reply assistant

      Answers stock, size and delivery questions inside the open chat, with a clean handover to staff.

      Move on when: most replies resolve without staff and complaints stay flat.

    3. Phase 3

      Intent and offer model

      Trained on the outcomes collected in phases 1 and 2. Decides timing and who should receive an offer.

      Move on when: discount spend per recovered order falls with no drop in recovery.

    Risks

    What could sink it, and the plan for each

    Too few carts are reachable

    Make number capture part of onboarding for every store, and report reachability on the first screen of the dashboard so owners see why it matters.

    Templates rejected or reclassified

    Keep a library of pre-tested wording per category and never submit promotional copy as a utility message.

    Delivery caps on marketing messages

    WhatsApp limits how many marketing messages one person receives across all brands. Treat those failures as an expected outcome and fall back to email where the shopper agreed to it.

    Quality rating drops

    Hard per-cart and per-week limits, quiet hours and an instant STOP. The guardrail metrics pause sending automatically if blocks rise.

    Data protection obligations

    India's DPDP Rules require full compliance by 13 May 2027. Purpose-specific consent records, one-tap withdrawal and retention limits are built in from phase 1.

    Hiring for a problem like this one?

    Open to Senior PM, Lead PM and Product Lead roles. Based in New Delhi, open to relocation, hybrid and remote, and available to join immediately.

    Chat