<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Neelansh mah</title>
    <description>The latest articles on DEV Community by Neelansh mah (@neelanshmah).</description>
    <link>https://dev.to/neelanshmah</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4086203%2Fb41fd188-b3dc-4500-89f3-dca120370ae7.png</url>
      <title>DEV Community: Neelansh mah</title>
      <link>https://dev.to/neelanshmah</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/neelanshmah"/>
    <language>en</language>
    <item>
      <title>We Killed Our First Shopify App, Pivoted, and Relaunched with AI Calls</title>
      <dc:creator>Neelansh mah</dc:creator>
      <pubDate>Thu, 20 Aug 2026 08:34:09 +0000</pubDate>
      <link>https://dev.to/neelanshmah/we-killed-our-first-shopify-app-pivoted-and-relaunched-with-ai-calls-43m9</link>
      <guid>https://dev.to/neelanshmah/we-killed-our-first-shopify-app-pivoted-and-relaunched-with-ai-calls-43m9</guid>
      <description>&lt;p&gt;Six months ago we launched a Shopify app for abandoned cart recovery. Five weeks later we killed it. Today we relaunched it, rebuilt around AI phone calls, and the story of what changed in between is worth writing down.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first app died for two reasons
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The platform moved.&lt;/strong&gt; Shopify mandated an OAuth Client Credentials Grant migration and a REST to GraphQL deprecation on January 1, 2026. For a small app, that is a real rebuild: new auth flow, new API surface, new testing, all while the old code still runs. We had a working app with 3 verified 5-star reviews, and the cost of the migration was higher than the expected lifetime revenue in a saturated market.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The category was crowded.&lt;/strong&gt; Cart recovery is one of the oldest Shopify categories. Hundreds of apps fight over the same 6 to 8% that email recovers. Even a perfect new app is a drop in a very full bucket.&lt;/p&gt;

&lt;p&gt;So we killed it in January 2026 and pivoted to Kolz Bulk, an AI bulk calling platform. Upload a spreadsheet, pick a sales template, launch a campaign, download an enriched file with call status, lead score, AI summary, and recordings. Non-technical sales teams, $0.03 per minute, no subscription. It picked up 25 active users in its first 5 weeks.&lt;/p&gt;

&lt;p&gt;The pivot taught us the thesis that the relaunch is built on: a timely phone call beats an ignored email, every single time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why calls beat email for cart recovery
&lt;/h2&gt;

&lt;p&gt;The numbers on email recovery are brutal. 70.2% average cart abandonment across 49 studies. Recovery emails within 1 hour convert 20.3%, which drops to 12.2% after 24 hours. But even the best flows only recover 6 to 8% of carts overall. The other 92% never converts.&lt;/p&gt;

&lt;p&gt;A phone call 5 to 15 minutes after abandonment changes the game:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The shopper is still on the device. Intent is warm.&lt;/li&gt;
&lt;li&gt;The AI answers the questions that kill carts: sizing, shipping speed, "is this in stock?"&lt;/li&gt;
&lt;li&gt;A voice can resolve hesitation in real time. Email cannot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The reason nobody did this before is economics. A human calling every abandoned cart costs $15 to $25 an hour per agent. AI voice calls cost fractions of a cent per minute. The unit economics finally work for small merchants.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we rebuilt
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The call.&lt;/strong&gt; Fires 5 to 15 minutes after checkout abandonment. The AI knows the exact cart contents and the shopper's name. It discloses that it is an AI immediately. In the US, an undisclosed AI voice on an outbound call is a TCPA problem, and pretending to be human is the fastest way to lose trust. Disclosing is a feature, not a disclaimer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FuseCodes.&lt;/strong&gt; When the shopper says yes, a unique one-time coupon is minted and texted with the cart link. A landing page shows a live depleting countdown ring. Miss the window, the code dies. Merchant controls offer, expiry, and value tiers. One code per shopper means no code sharing, no leaked discount codes on coupon forums.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Live Handoff.&lt;/strong&gt; The AI detects a buying signal or a question beyond its scope and bridges the call to the merchant, with a whisper intro: shopper name, cart value, the question. AI opens, human closes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The technical notes
&lt;/h2&gt;

&lt;p&gt;For the builders reading this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shopify checkout always captures an email, even for guest checkout. That means FuseCodes can cover 100% of carts: phone numbers get the code by SMS, the rest get it by email. No phone, no problem.&lt;/li&gt;
&lt;li&gt;The call flow is a state machine: intent detection, objection handling, acceptance, coupon minting, handoff. Coupon minting is idempotent per shopper. One code, one use, atomic.&lt;/li&gt;
&lt;li&gt;The countdown landing page is a plain URL with an expiry token. No auth needed for the shopper, which keeps the conversion path frictionless.&lt;/li&gt;
&lt;li&gt;Pricing is metered by answered calls only. Voicemail, wrong number, declined: not billed. That is a product decision, not a technical one, but it is why the billing pipeline only counts answered events.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we learned
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Platform migrations kill small apps.&lt;/strong&gt; Budget for the cost of staying on a moving platform, or pick a wedge that survives it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saturated categories eat good products.&lt;/strong&gt; The 6 to 8% email recovers is fought over by everyone. The 92% nobody calls is wide open.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The phone is the underserved channel.&lt;/strong&gt; Voice AI costs have collapsed. Every sales and recovery workflow built on email or SMS now has a calls-native competitor in its future.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing is a wedge too.&lt;/strong&gt; Competitors charge $29 for 50 calls or gate handoff behind $349 a month. We ship handoff at $20 for 100 calls, answered only.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We are at the start of the relaunch: a Shopify App Store listing, a free tier of 25 calls a month, and a dogfooding loop where Kolz itself calls merchants to demo the product. If you run a Shopify store with 100+ abandoned checkouts a month, the free tier is 25 calls, and one recovered cart pays for the experiment.&lt;/p&gt;

&lt;p&gt;Build in public, recover carts, repeat.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>ecommerce</category>
      <category>shopify</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
