Medikabazaar helps medical professionals order everything from OTC drugs to regulated equipment online.
A new compliance rules forced us to verify every customer. We had an offline KYC team, but that wasn’t scalable. when we paused orders until self-KYC went live, we started bleeding money every day.
This is story of how we designed a scrappy self-KYC flow, fixed it sprint by sprint, and helped save millions in stuck orders, while learning a lot about user psychology along the way.

MEDIKABAZAAR
Business Objective
To stabilize order volumes by reducing KYC-related cart abandonment and optimizing the self-KYC flow for higher form conversions.
We quickly built a basic self-KYC form, finalizing acceptable documents with Legal, and integrating OCR for automated verification.
In the first iteration, our design goals were to:
Inform users why KYC was required and assure them it was a one-time process,
Clearly communicate that they needed to submit any one acceptable document, ensuring the certificate number and business name were visible.
User Flow :
Enter Business Name
Choose document type
Enter Certificate Number
Upload Document
OCR Checks Info
User Places Order

Form v1
We saw only 14% users interact with the form & 5% actually submit it
OUTCOME

Form v2
A huge 85% of users dropped off after barely filling the first couple of fields. After speaking with a few users, I realized the 'Business Name' field was causing confusion, especially for individual doctors. That’s when we decided to introduce custom fields for each document type.
User Flow :
Choose document type
Updated
Enter Business Name
Updated
Enter Certificate Number
Upload Document
OCR Checks Info
User Places Order
Overall, 19% of users interacted with the form (up from 14%) but 81% still dropped off without taking any meaningful action.
OUTCOME
Instead of guessing, I decided to ship a dirty, quick KYC abandonment popup: "Why are you leaving without submitting KYC?"
74%
I’m Buying for personal use
12%
I don’t want to share the document with you
3%
others
8%
Documents are rejected
3%
My documents are not in the list
We realise this was traffic issue & updated marketing targeting to avoid targeting patients

To address organic traffic I decided to update our login screen to this to inform users you cannot buy without KYC
Cart abandonment dropped by 8.6%, overall site conversion improved by 2.4%, and the traffic reaching the KYC funnel became significantly higher quality
OUTCOME

Form v3
Even after reordering fields, users were still freezing at the first screen. Watching hotjar sessions, it became clear: the form still looked long and that was enough to scare users away.
Based on the principle of progressive disclosure, I proposed a new hypothesis:
What if we reduced the complexity upfront, and revealed fields step by step?
What we changed
Show only one decision - select a document type
Based on selection, show only the relevant fields (e.g., Dentist Name + DCI Number)
this lowered the perceived effort and made starting the form feel easy
We saw now 28% users taking first action(up from 19%) and completion rate also improved by another 7%
OUTCOME
Even after simplifying the form with progressive disclosure, some users were still hesitating at the final step → share the document.
After talking to few doctors I realised, they considered their medical license a private and sensitive document, and were worried it might be misused.
I uncovered doctors were willing to share the document once they realised it was a government mandate & it's a real time verification that takes hardly 1 minute.
So we added these snippets to tell them it was secure & a quick process




Form v4
Trust messaging nudged hesitant users over the line, resulting in a 9.4% lift in overall conversion
OUTCOME
How One Desperation Feature Backfired
Post Order KYC - We decided to implement a post-order KYC flow where, even if the user didn’t submit documents, a COD order would be placed as soon as they landed on the KYC page. Users could submit their KYC within the next 2–3 days, either through the app, or via a customer support executive who would call to complete the process.
What happened when this went live -
Users didn’t realise a COD order had already been placed, so they’d go back and place another one. Once their KYC was verified, all these orders were confirmed together.
This led to a surge in duplicate orders, and our operations team began seeing
More returns than usual
Users claiming they never ordered in that quantity
Complaints like “I already got this yesterday”
One of the final friction points in the flow was OCR verification even after engineering optimizations, it still took 8–10 seconds on average to verify documents. Users waited, got frustrated, and in some cases, valid documents were getting wrongly rejected.
We initially added a loading screen to keep users engaged, but it was a temporary fix. That’s when I decided to make the process non-linear, by running OCR in parallel while the user enters the Business Name and Certificate ID, we could extract fields in the background and keep them ready for instant comparison on the frontend
Old Flow
Select document
Enter Business Name
Enter Certificate ID
Upload the document
Wait 8–10 sec for OCR verification
Verify
New Flow
Select document
Upload document first
Run OCR immediately to extract name and ID & pre-load this info
User enters Business Name & Certificate ID
Instant Verify
This simple reordering reduced perceived wait time by 4-5 seconds, made the verification step feel smoother, and reduced drop-offs due to OCR delays.
OUTCOME
This was one of the most high-stakes challenges I’ve ever worked on. A compliance shift brought our entire funnel to a halt nd with it, an org of 1000+ people. Thousands of orders were stuck and the volume dropped overnight. Nothing could move forward until KYC was solved.
Alongside 1 PM, 4 engineers, and 1 engineering manager, we pulled all-nighters to get this complex machine live. We're still optimising it, but the version we shipped led to
Conversion 2.4%+
Cart Abandonment 8.6%-
KYC Submission 140%+


