Home

Work

About Me

Connect

Digital KYC flow to reduce order drop-offs and verify medical professionals at scale

Digital KYC flow to reduce order drop-offs and verify medical professionals at scale

Digital KYC flow to reduce order drop-offs and verify medical professionals at scale

About Medikabazaar & the need for KYC

About Medikabazaar & the need for KYC

About Medikabazaar & the need for KYC

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.

Launching the MVP: A heavy form that was just..meh

Launching the MVP: A heavy form that was just..meh

Launching the MVP: A heavy form that was just..meh

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

Reordering Fields to Reduce Confusion

Reordering Fields to Reduce Confusion

Reordering Fields to Reduce Confusion

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.

DCI Certificate

Shop & Establishment Certificate

Drug License

GST

Dentist’s Name

Enter Dentist’s Name

DCI Registration Number

Enter DCI registration number

DCI Certificate

Shop & Establishment Certificate

Drug License

GST

Dentist’s Name

Enter Dentist’s Name

DCI Registration Number

Enter DCI registration number

DCI Certificate

Shop & Establishment Certificate

Drug License

GST

Dentist’s Name

Enter Dentist’s Name

DCI Registration Number

Enter DCI registration number

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

Asking the 81% Users Why They Were Leaving (and Finding the Real Problem)

Asking the 81% Users Why They Were Leaving (and Finding the Real Problem)

Asking the 81% Users Why They Were Leaving (and Finding the Real Problem)

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

Progressive Disclosure: Turning a Heavy Form Into One Simple Choice

Progressive Disclosure: Turning a Heavy Form Into One Simple Choice

Progressive Disclosure: Turning a Heavy Form Into One Simple Choice

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

Building Trust to Ease the Final Drop-Offs

Building Trust to Ease the Final Drop-Offs

Building Trust to Ease the Final Drop-Offs

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”

The final fix: Reducing OCR Lag to Save Time

The final fix: Reducing OCR Lag to Save Time

The final fix: Reducing OCR Lag to Save Time

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

The Hardest Thing We Shipped, When the Stakes Couldn’t Be Higher

The Hardest Thing We Shipped, When the Stakes Couldn’t Be Higher

The Hardest Thing We Shipped, When the Stakes Couldn’t Be Higher

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%+

Thanks for scrolling 11,393 Pixels!

Thanks for scrolling 12,846 Pixels!

Made from cafes, airports, hostels dorms, beaches and borrowed chargers

Thanks for scrolling 18,491 Pixels!

Made from cafes, airports, hostels dorms, beaches and borrowed chargers