Inspiration

I once spent three months building a landing page I was certain would convert. Clear headline. Strong proof. Good price. I launched it and watched people arrive, scroll, and leave without buying.

I ran surveys. Nobody responded. I asked friends. They said it looked great. I added a chat widget. Nobody used it.

The people who could tell me exactly what was wrong had already left. And they were never coming back to explain themselves.

Every business owner I have spoken to has the same story. They have Google Analytics telling them where people leave. They have heatmaps showing where people stop scrolling. What they do not have is a conversation with the actual person who almost bought and decided not to.

The Customer Who Almost Bought is that conversation.

What it does

The application simulates and interviews customers who visited a product but did not complete a purchase.

A business owner completes a three-step onboarding. They describe their product. They optionally provide their website URL, which the app reads automatically to identify friction in the existing copy. They map their customer journey and name where the biggest drop-off happens. They state what they currently believe is the main reason people do not buy.

That last input is critical. It becomes the baseline against which everything the interviews reveal is measured.

The system then runs market research in the background — searching for real complaints, negative reviews, and documented objections for that product category. It combines those findings with any friction points extracted from the website copy to generate five distinct customer personas, each with a photorealistic avatar, a name, a background, and a specific moment in the funnel where they stopped.

The business owner then interviews each customer directly. The customer speaks in first person, in character, drawing on real market data. A Trust Meter tracks conversation depth — the more honest the exchange, the higher it climbs.

After all five interviews the Output Dashboard generates four outputs.

The One Sentence: a single headline that, placed on the homepage hero section, would have addressed the majority of objections across all five personas.

The Real Reason Ranking: the top three actual reasons people did not buy, ranked by frequency, with revenue impact estimates calculated from industry-standard conversion benchmarks:

$$R_{impact} = P_{product} \times V_{monthly} \times \Delta_{CVR} \times 12$$

where $P_{product}$ is product price, $V_{monthly}$ is estimated monthly visitors, and $\Delta_{CVR}$ is the conversion rate improvement associated with resolving that objection category based on benchmark data.

The Founder Belief Gap: a direct comparison between what the business owner believed was the problem and what the interviews actually revealed.

The Fix List: specific copy changes, page restructures, and flow changes, each linked to a customer objection and prioritized by effort versus impact.

How we built it

Built entirely using MeDo through conversational prompting in four turns.

Turn 1 built the three-step onboarding flow with conversational AI prompting at each step, the Webpage Content Extract plugin integration for automatic copy analysis, and the session data model storing product description, journey map, and founder belief.

Turn 2 implemented the market research pipeline using the Web Search plugin to query real customer complaints and negative reviews by product category, combined those findings with friction points from the website analysis, and built the persona generation engine producing five distinct profiles per session.

Turn 3 built the Interview Room with the split-screen layout, the Image Generation (Kling) plugin integration generating photorealistic avatars for each persona, the in-character conversational AI maintaining persona consistency throughout each interview, and the Trust Meter visual indicator.

Turn 4 built the Output Dashboard — The One Sentence generation engine with breakdown rationale, the Real Reason Ranking with Web Search-sourced revenue benchmarks, the Founder Belief Gap comparison, and the Fix List prioritization algorithm.

Total build time: approximately 3.5 hours.

Challenges we ran into

Grounding persona objections in real data without hallucination. The easiest version of this product invents objections that sound plausible but are not real. We needed objections sourced from actual market complaints. The fix was making the Web Search results a mandatory input to persona generation rather than an optional enhancement. Every objection a persona raises traces back to a real documented complaint in the search findings.

The One Sentence is harder to generate than it sounds. A sentence that addresses five different objections without becoming vague or generic requires the generation engine to identify the underlying fear common to multiple surface-level objections. Early versions produced headlines that were technically accurate and completely unconvincing. The breakthrough was instructing the LLM to find the single emotional root shared by the majority of objections rather than trying to mention each one.

Revenue estimates needed to feel credible, not invented. Showing "₹4.2L/year in lost revenue" next to a finding is powerful. Showing a number that the business owner can immediately see is fabricated destroys trust in everything else. We solved this by sourcing conversion rate benchmarks from Web Search results specific to the product category, displaying the benchmark source, and showing the calculation formula so the estimate is auditable rather than opaque.

Persona avatar consistency across sessions. The Kling Image Generation plugin produces excellent individual avatars. Ensuring the avatar visually matched the written persona description — age, apparent background, professional context — required careful prompt engineering for each persona rather than generic portrait generation.

Accomplishments that we're proud of

The Founder Belief Gap is the output we are most proud of. Every other feature in the dashboard is useful. This one is transformative. Seeing your own stated belief — written in your own words three minutes ago — placed directly next to what five interviews actually revealed produces a specific cognitive experience that no report or analytics dashboard can replicate.

In every test session, the founder belief and the interview findings diverged. Not slightly. Significantly. The most common pattern:

$$\text{Founder belief} = \text{price objection}$$ $$\text{Interview finding} = \text{trust deficit}$$

Business owners consistently believed price was the barrier. Customers consistently said they would have paid more if they had trusted the product more. That gap, made visible in a single comparison, is worth more than any conversion rate optimization checklist.

What we learned

Founders are the last people who can accurately diagnose their own conversion problem. They are too close to the product. They have answered their own objections so many times internally that they cannot hear them as objections anymore. An external voice — even a simulated one grounded in real data — breaks that blindness.

The exit interview never happens in real business but it is the most valuable conversation available. The customer who almost bought has the most specific, actionable feedback in existence. They went far enough to evaluate seriously and decided no. That decision contains more signal than a hundred satisfied customer testimonials.

Real data grounding is the difference between a useful tool and a convincing toy. Every insight in this application traces back to something real — a complaint on a review site, a benchmark in an industry report, a friction point in actual website copy. That traceability is what makes the output actionable rather than interesting.

What's next for The Customer Who Almost Bought

  • Analytics platform integration pulling real drop-off data from Google Analytics or Mixpanel to make customer journey mapping automatic rather than self-reported
  • Session comparison showing how objections shift after the business owner implements recommended fixes, making the improvement measurable
  • Industry-specific persona libraries with pre-researched objection sets for common product categories, reducing onboarding time for well-defined markets
  • Voice interview mode so business owners can speak to their simulated customers rather than type, producing more natural and revealing conversations
  • Team access allowing multiple stakeholders to interview the same customer set independently and compare what each person heard

Built With

Share this project:

Updates