Your medicines, without waiting for a call
Ordering from PillUp meant uploading a prescription, then waiting up to 10 hours for a sales call just to see a price. Now the prescription builds the cart in about a minute, and people check it and pay on their own.
tl;dr
- What
- Self-checkout for PillUp. You upload a prescription, the app reads it and builds your cart, you check it against your own prescription, and you pay. Nobody calls you first.
- Why
- Every order waited on two people. A sales call came 30 minutes to 10 hours after upload, then a pharmacist priced the order by hand. People couldn't see what they'd pay, and some gave up while they waited.
- My role
- The research, both service blueprints, the wireframes, a clickable prototype, and every final screen. Two engineers built it with me.
- Result
- Live since July 2026, and since August it's how every web order starts. A price now takes about a minute instead of a phone call, and pharmacists check orders instead of typing them.
Context
PillUp is for people who take a lot of medicines, every day, for a long time. Blood pressure, diabetes, thyroid, often all at once. PillUp takes those strips and sorts them into small pouches, one for each time of day, printed with the name and the time.

Most people find PillUp through an ad, tap Order, and upload a prescription. Then they waited. Somewhere between 30 minutes and 10 hours later, a sales call. Only after the call did a pharmacist build a quote, and only then did anyone see a price.
My job was to understand that wait, and take the person out of it.
Following one order through the building
The user only saw a thank-you page and a phone ringing hours later. Everything that decided their order happened out of sight, so I went to the people doing it. I ran stakeholder interviews with the front of the process (sales) and the back of it (the pharmacy), and traced every system the order touched:
- An inside sales associate, on what people ask on the call
- The lead pharmacist, on how prices and routines get set
- Every screen of the old web order flow
- The pharmacist's admin tool, where routines are typed in by hand
- The order stages in the sales CRM, from new lead to delivered
Three things came out of those conversations.
1. The call mostly answered the same questions.
“The most common questions users ask are around trust, safety, and genuinity.”
Aditya · Inside Sales
The rest of the call was about discounts and dosage. Sales explained that pouches are packed by machine, and that the empty strips come back with the order so people can check them. That reassurance is real and it matters. It just didn't need a phone call.
2. Sales was doing maths on the phone.
“If a customer takes a medicine twice a day and wants medicines for one month, we know the total quantity required would be 60 units.”
Aditya · Inside Sales
How often, how many, for how long: asked on the call, multiplied by hand, typed into CRM notes, passed to a pharmacist. And when the pharmacist took too long, sales sometimes built the quote themselves, because a waiting customer is a lost one.
3. The same medicine could cost two people different amounts.
“Currently discounts are largely defined and applied manually by pharmacists.”
Lead Pharmacist
Roughly 15 to 20% off the printed price, decided per order, and 1 to 2% more for whoever pushed for it on the call. Nobody designed it to be unfair. It was just what happens when every price goes through a person.
Where the hours went
To see the whole thing at once, I drew a service blueprint of the old flow: what the person does on top, what sales and the pharmacy do underneath, and the systems below that. I added one lane borrowed from journey maps, what the person is thinking at each step, because the questions in their head were the clearest map of what was missing.
| 1. Getting started | 2. Uploading the prescription | 3. Waiting for a quote | 4. Confirming and paying | 5. Delivery | |
|---|---|---|---|---|---|
| Thinking | “Is this going to turn into a sales call?” | “Are they able to read my doctor's handwriting?” | “Why do I need a call for this?” | “Can I trust this payment link? Why WhatsApp again?” | “Will the medicines match what was discussed?” |
| Doing | Taps an ad, verifies a phone number, fills in details | Uploads it and lands on a thank-you page. No medicines, no price. | Waits, then answers a sales call wait · 30 min to 10 hrs | Pays through a link, fills a WhatsApp form for delivery, gets a consent link on WhatsApp High reliance on calls and WhatsApp for clarification and confirmation | Receives the pouches wait · 1 to 3 days |
| Behind the scenes | A lead is created and assigned to sales | The prescription is checked, then a callback is requested | Sales explains PillUp and asks for dosages. A pharmacist builds the quote and sets the discount by hand. Order progression is blocked by human intervention | The pharmacist maps the routine from sales notes Pricing and discounting lack standardisation creating dependency on pharmacist | Strips opened, pouches packed and labelled |
Read the Before board left to right and a pattern shows up. The person does almost nothing for hours. Meanwhile two people behind the line of visibility are doing work the person can't see, and the order can't move until they finish.
The three pink notes are where it hurt most: the order stops for a human, everything runs through calls and WhatsApp, and prices depend on who you talk to.
The reframe
That gave me a problem statement to pin up: people with long prescriptions want their medicines sorted and delivered, but before they can even see a price, they wait hours for a call that mostly reads their own prescription back to them.
Under each phase of the blueprint I wrote the how-might-we questions it raised. Four of them shaped everything after:
- How might we show confidence that the prescription was correctly understood?
- How might we help people feel sure about dosage without overloading them?
- How might we avoid unnecessary follow-up calls?
- How might we make payment feel safe and reversible?
Put together, they came down to one question for the team: how might we let people see, check, and pay for their order without waiting on a person?
It was a business problem too. Every order cost a sales call and a pharmacist's time before any money came in, and people dropped off during the wait. One flow had to fix both.
Pharmacist, system, or the person?
Before drawing screens, I went through every job in the old flow and asked who should own it now. This table is the redesign in short:
| Job | Before | Now |
|---|---|---|
| Reading the prescription | A pharmacist, after the call | The system, in about a minute |
| Knowing which medicine it is | A pharmacist | The system, and the person picks when a name is unclear |
| Working out how many tablets | Sales, by hand, on the call | The system, from the routine |
| Setting the price | A pharmacist, case by case | One flat discount for everyone |
| Agreeing to pre-sorting | A WhatsApp link, after paying | In the app, before paying |
| Checking it's all safe | A pharmacist, before any price | A pharmacist, after payment, before packing |
The pharmacist didn't leave. They moved from the front of the queue to the end of it, where they check a finished order instead of typing one from scratch. Sales moved too: they now call only when someone leaves a cart unpaid.
The new order, step by step
Here's the journey the way a person walks it.
Upload the prescription, say who it's for.
Several pages, for yourself or someone in the family. The note under the button sets the wait before it starts: up to a minute.

A minute of waiting, shown as four plain steps.
A minute is far past the 10 seconds people give a blank spinner, so the wait gets a progress indicator in words they know. The steps are paced, and the last one holds until the real answer arrives. Tips rotate below, one of them saying upfront that some medicines can't be served.

Agree to pre-sorting first, in plain words.
This used to arrive as a WhatsApp link after payment. Now it comes first, with the three things sales used to say on the phone, including that the original strips come back so you can check batch numbers and expiry.

Every medicine is one tap from the line it came from.
The screen says it plainly: our AI can make mistakes. On its own, that line is easy to ignore. Here it sits above a way to act on it: each card opens the exact line of handwriting it was read from. That is explainable AI at its simplest. People check their own prescription, and decide.


When a name is unclear, the app asks instead of guessing.
“Dolo” could be five different medicines. Unclear names jump to the top, show the handwriting, and offer the likeliest matches, so people recognise the right one instead of recalling it. Until it's picked, Confirm medicines & continue stays disabled: error prevention, where a wrong guess would mean the wrong pills in a pouch.


Try it: pick the right Dolo, and check any of the others against the prescription.
Review your medicines
We found these medicines in your prescription. Please review and confirm to continue
✨ Our AI can make mistakes. Please double-check all info.
ⓘ We need a bit more clarity
Some medicines names were not clear in the prescription. Please choose the correct one.
Dolo
Multiple variants found
Augmentin 625 Duo Tablet
GSK Pvt Ltd
Metformin 500mg Tablet
Sun Pharma Pvt Ltd
Atorvastatin 10mg Tablet
Cipla Pvt Ltd
Some medicines can't be sold this way. We say why, and where to go.
Tightly regulated medicines can't be opened and repacked, and cold-stored ones only ship where the cold chain holds. They stay on the list, greyed out, with the reason in plain words and a way forward: buy these at a nearby pharmacy.


The routine is read too. People only fill the gaps.
These are the questions sales used to ask on the call. Now the prescription answers most of them, and a missing routine shows up as one amber row with a Set routine button. That sheet uses staged disclosure: four small questions, one at a time, each folding into a line you can still edit.


Reminder times get a screen of their own.
The routine screen is about medicines. Reminder times are about your day, so they moved to their own screen instead of a card at the bottom of the table. The day is drawn as one arc, morning at the top and night at the bottom. Each time slides along its own stretch of the day and snaps to 15 minutes, and a pencil opens the exact time with quick picks. Before-food and after-food reminders shift on their own.
Try it: drag a time along the arc, or tap the pencil for the exact time.
‹ Back
Set medicine timings
Slide or tap medicine timings to edit. We'll use this to send you medicine reminders.
ⓘ Before food and after food timings will be adjusted automatically based on your selected timings.
The cart shows the maths: 60 tablets for 30 days.
“How did they calculate this quantity?” was a question on the blueprint. Now each line answers it: the count, the days, and the dose it came from. Change the days and the count follows. The address, the total and Proceed to pay stay pinned to the bottom, and the price is the same for everyone.


Paid. A pharmacist checks it before packing.
The pharmacist still reviews every order. They just do it after the person is done, and call only if a medicine has to be swapped.

Every card, every case
A prescription can go wrong in more ways than it can go right, so most of the design work was the edges. It starts with one medicine card that can be in four states. The coloured edge says which, and only the state that needs a decision gets a button.
One card, four states · the edge colour carries the meaning

Matched
Read clearly and matched to a real medicine.
Check it on the prescription, edit or delete it from the ⋮ menu.
Goes in the order
Unclear name
The handwriting fits several medicines, so it's shown as written.
Choose the correct medicine. It's the only card with a button, because it's the only one that needs a decision.
Holds the order until picked
Schedule-H
Regulated medicines that can't be opened and repacked.
Read why, edit it if the reading was wrong, or delete it.
Left out, shown greyed
Cold stored
Must stay refrigerated. Delivered in Delhi NCR only, for now.
Read why, edit it, or delete it.
Left out, shown greyed
Then every scenario, the way the Figma file lays them out: a few, one or all medicines affected, each with its own screen, and a button that always says what's missing.
Multiple variants found




One flagged card and three ways out: pick a suggestion, search for it, or say the reading is wrong. Once picked, it joins the list like any other medicine.
What we deliberately didn't do
- 1
No confidence scores. A percentage asks people to judge software. A highlighted line of their own prescription asks them to read, which they can do in a second.
- 2
No silent guessing. An unclear name blocks the order until a person picks it. The engineers wrote the same rule into the code: never guess a clinical or price number.
- 3
No haggling. One flat discount for everyone, the one the lead pharmacist proposed. Fair to the person who never asks, and simpler for the team.
- 4
No hiding the medicines we can't send. They stay on the list with the reason and a way forward, so nobody finds a missing medicine only when the pouch arrives.
Impact
Self-checkout went live in July 2026. On 21 August it became the default for every order placed on the website. Before paying, nobody waits on a person anymore: the price is on screen in about a minute, where it used to take a call that came anywhere from 30 minutes to 10 hours later.
| What changed | Before | Now |
|---|---|---|
| Wait before seeing a price | 30 min to 10 hrs | About a minute |
| People needed before paying | 2 (sales, pharmacist) | 0 |
| Steps outside the app | 3 (payment link, WhatsApp form, consent link) | 0 |
| Price for the same medicine | Depends on who asks | One flat discount |
| Tablet count | Worked out on a call | Shown in the cart |
Counted from the two blueprints, so these are changes by design. The conversion numbers are still settling, and they go here when they're in.
What we're watching. Every order is tracked through the same five steps, from prescription to payment, so we can see exactly where people stop:
- Prescription uploaded
- Cart created
- Consent given
- Checkout started
- Paid
Alongside it, how often people tap “It's not matching” (our honest read on how well the prescription was understood), how many carts are left unpaid, and how often a pharmacist has to swap a medicine after payment.
What I learned
- 1
Look below the line of visibility. From the user's side this looked like a slow screen. The blueprint showed it was two people doing hand work in sequence. The fix was in who does what, and the screens followed.
- 2
Show the source, and trust follows. A disclaimer asks people to be careful. A highlighted line of their own prescription lets them be careful in one look. Every time the design had to earn trust, the answer was to show where a number came from.
- 3
Automation moves people to where they matter. Sales stopped asking for dosages on the phone and started following up carts people left unpaid. Pharmacists stopped typing orders and started checking them. The hand work went away, and the judgment stayed with people.
Credits
This worked because the people doing the job by hand told me exactly how they did it.
- A
Aditya
Inside Sales
Explained what people really ask on the call, and how the tablet maths got done.
- LP
Lead Pharmacist
PillUp Pharmacy
Walked me through pricing, discounts, and how routines get typed in by hand.
- YS
Yashjeet Singh
Engineering
Built the flow, the payments, and the events that let us measure it.
- UR
Upendra Rajpoot
Engineering
Built the reading, the medicine matching, and the pricing behind the cart.
And the usual credit beyond the team: Jakob Nielsen's 10 usability heuristics, especially visibility of system status, error prevention, and recognition rather than recall.



