A parcel app for India built on one rule: nothing that costs money is decided after the sender loses the ability to say no.
Nobody wrote anything down. Every failure in this category has that shape.
I handed over 3 boxes to the delivery partner, but only 2 were delivered. The delivery partner even refused to admit that I had given him 3 boxes.
Scope, price and proof all get decided after the sender has lost the ability to walk away.
Porter runs 35 cities and 50 million installs at 4.83 stars. The only open axis is the one the shop counter already wins.
Anything that changes what the sender pays is settled before confirm.
Picked up means an OTP exists. Delivered means a photo exists.
34 of 62 blame the app when a parcel is late, not the driver they met.
Fare, floor, lift, parcel count and cash, all before the button.
If that is wrong, Fluxo has no business. It is the one assumption the whole design rests on, and the fare dispute rate is how you would find out.
The card sort produced an information architecture I believed in. The usability test failed it. The last phase exists to undo it.
| Dates | Phase | What came out of it | |
|---|---|---|---|
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 01</span> | 6 to 12 Jul | Desk research | Support, not price, is the largest complaint theme at 166 of 518. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 02</span> | 13 to 19 Jul | Survey | 45 of 62 sent their last parcel without an app. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 03</span> | 20 to 26 Jul | Interviews | Drivers cannot see the job before they accept it. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 04</span> | 27 Jul to 2 Aug | Card sort and sketches | Claim and proof split the participants. First IA draft was wrong. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 05</span> | 3 to 9 Aug | Digital wireframes | Merged a five step booking flow into four. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 06</span> | 10 to 16 Aug | Usability test | The claim mission failed at 58 percent success. |
| <span class='mono' style='color:var(--fluxo-lit)'>Phase 07</span> | 17 to 23 Aug | Redesign and retest | Claim success went to 92 percent. Fare comprehension to 92 percent. |
Twenty apps installed, store histograms read rather than star averages.
| What the sender is promised | Fluxo | Porter | Delhivery | Borzo | MyDTDC | India Post | Pidge |
|---|---|---|---|---|---|---|---|
| Fare shown is the fare charged | Yes | No | unknown | unknown | No | unknown | unknown |
| Itemised fare breakup | Yes | Partial | unknown | unknown | unknown | unknown | unknown |
| Weight and dimension capture | Yes | No | Yes | Partial | Yes | Yes | unknown |
| Fragile handling option | Yes | unknown | unknown | Partial | unknown | unknown | unknown |
| Scheduled pickup slot | Yes | No | Yes | Yes | Yes | Partial | unknown |
| Live vehicle tracking on a map | Yes | Yes | Yes | Yes | Partial | No | Yes |
| Delivery OTP | Yes | No | unknown | unknown | Yes | Yes | Yes |
| Proof of delivery photo | Yes | No | unknown | unknown | unknown | unknown | Partial |
| Cash on delivery | Yes | unknown | unknown | Yes | unknown | Yes | Yes |
| UPI payment | Yes | unknown | unknown | unknown | Yes | unknown | unknown |
| GST invoice download | Yes | Partial | unknown | Partial | unknown | unknown | unknown |
| Claim in the app with a ticket number | Yes | No | No | No | No | Yes | unknown |
| Published cancellation policy | Yes | Yes | unknown | Yes | Partial | Partial | unknown |
| Driver rating before assignment | No | No | No | No | n/a | n/a | No |
Every cell is evidence. Yes means the operator states it or reviews demonstrate it. Unknown means I could not verify it and did not guess.
Not one operator in the twenty publishes an itemised fare breakup, and only India Post has a claim with a case number.
Live map tracking is yes for every marketplace and no for every courier. Delivery OTP is the reverse. Fluxo has both, and that combination is the product.
Every percentage resolves to a whole number of respondents out of 62.
I expected live map tracking to rank first. It came fourth of eight, behind a fixed fare, photo proof and an OTP.
So the map moved below the OTP card, and in app chat was cut from the first release at 23 of 62.
Five senders and four driver partners. Three driver sessions ran in the vehicle between jobs.
Whatever it shows, keep a hundred rupees extra in your hand. That is the rule.
If I cannot show the buyer a photo, the buyer is right and I am wrong.
I call the driver first. Not to talk. To know a person exists.
I did not complain. I just do not use them now.
Tell me the floor. That is all. I will still take the job, but tell me the floor.
I believed
Senders want to chat with the driver.
I heard
All five call. What they want is not to need to call.
So I changed
Chat cut. Name, plate and a call button instead.
I believed
The weight field is friction and should go.
I heard
The hub weighs it anyway, and understating costs money at the counter.5
So I changed
Kept as bands, with a printed re-weigh rule.
I believed
Drivers decline because of money.
I heard
They accept nearly everything. The cost they resent is the fourth floor.
So I changed
Full job details before the accept, and three access decline reasons.
Sony Ram, 2 stars, 1 August 2026, Porter on Google Play. Nine interviews and 518 coded reviews describe the same moment.
No portraits. NN/g found that participants who suspected an image was generated rated the page lower even when the photograph was real.6
If I cannot show the buyer a photo, the buyer is right and I am wrong.
I do not own a weighing machine. Nobody I know owns a weighing machine.
Tell me the floor. That is all. I will still take the job, but tell me the floor.
The warehouse shipper. A seller doing 400 parcels a day wants a rate card and an API. Every screen here assumes one parcel at a time.
Sharada, the primary persona. The value is in the two places the quadrants contradict each other.
Chat scored last of eight features at 23 of 62. In interviews all five senders said they call rather than chat, and what they actually want is to not need to call.
34 of 62 hold the app responsible when a parcel is late, not the driver they met. So the answer to distrust is not more transparency about the contractor.
Not the wait for pickup. After delivery the sender has already paid, already lost the goods, and has no artefact to argue with.
Two stages have no Fluxo answer. Compare happens outside the app, and a multi day transit is a hub network problem a tracking screen cannot fix.
The four screens that carry the whole promise, and what each one had to answer.
The sender and the receiver are separate records. A Porter review describes the account holder's name silently overwriting the sender's, so the pickup call reaches the wrong person.
9 of 47 abandoners quit at weight and dimensions. The hub weighs it anyway, so the field became bands with a printed rule about what happens if the hub disagrees.
Four fare lines, always expanded, GST as its own line, and the sentence that says the number will not move. 18 of 62 named a fare change as their worst experience.
12 of 62 want cash on delivery, so the screen states what the receiver will be shown before anyone asks them for money.
Fewer steps, because it captures no weight or dimensions at all. A shorter form is only a win if the number at the end is final.4
Amber is a decision, dashed red is a failure. Thirty one states, eight of them failures.
Open sort, no category names supplied. Four cards split the room.
8 of 18 in Help and problems, 6 in Track and proof, 4 in Money and bills
I went against the majority. A claim needs the shipment ID, the proof photo and the fare attached to it.
9 of 18 in Track and proof, 7 in Help and problems
Kept in Track and proof. Putting proof under Help would say that evidence is only for when something went wrong, and 44 of 62 senders want the photo on every delivery.
8 of 18 filed Raise a claim under Help. I put it in the shipment record instead, and the usability test later failed the Help version at 58 percent.
Support is the largest complaint theme in the corpus, at 166 of 518. Promoting it is the cheapest signal that the brand intends to answer.
Driver app: three levels, no tabs, 56 dp targets. Every level of hierarchy is a glance he cannot afford on a dashboard mount.
Paper answered one question: what does the sender see first on the screen where money is committed.
Home was drawn nine times before Send again became a chip rather than a row. Track had the map at the top in all nine versions, which is the assumption the survey then broke.
What will you pay, and can it change?
Four of five shown version B answered with the total and never opened the breakup. Three then said the price could probably still change.
A single scrolling page for the whole booking. Senders filled the fields they understood, left weight blank, and hit a validation wall at the bottom.
Colourless on purpose. Hover any frame to straighten it.
Ten sender screens and two driver screens, all greyscale. Colour would argue about taste. This stage argues about what is on the screen, and in what order.
Unmoderated, on a clickable prototype. Twenty four senders, eleven drivers.
| Mission | Panel | Success | Direct | Avg time | Misclick | |
|---|---|---|---|---|---|---|
| M1 | Send a 2 kg parcel from Whitefield to Hinjewadi and pay by UPI. | n = 24 | 92% | 75% | 96 s | 14% |
| M2 | Tell me where shipment SHP-2049-KX7 is right now. | n = 24 | 96% | 88% | 31 s | 9% |
| M3 | Explain what you are being charged and why. | n = 24 | 79% | 63% | 44 s | 21% |
| M4 | The box arrived broken. Do something about it. | n = 24 | 58% | 33% | 118 s | 41% |
| D1 | Decide whether to take this job. Say why if you decline. | n = 11 | 91% | 82% | 22 s | 11% |
| D2 | Complete the handover. | n = 11 | 73% | 64% | 51 s | 27% |
The claim entry point sat in Help. Participants opened Help, could not find the shipment, and stopped.
Fix
Claim now opens from inside the shipment record, prefilled with the ID, the proof photo and the fare.
The fare breakup was collapsed behind a chevron, so participants read the total and never opened it.
Fix
Breakup is always expanded, and the words this fare is fixed sit directly under the total.
Participants did not believe a fixed fare claim that did not say what happens when the weight is wrong.
Fix
One line under the total: if the hub weighs it differently we show you the new fare before we take the parcel.
The map is the easy thing to design and the thing every rival already has. Q6 put it fourth of eight.
18 people filed Raise a claim under Help, and I followed them into a 58 percent failure rate. A sort tells you where a label feels like it belongs.
The survey, interviews, card sort and usability test are illustrative. Fluxo is a concept project, so those figures are modelled rather than collected.
Every market figure, competitor feature, complaint frequency and quoted review is real and carries a source link. Nothing here shipped, so there are no production metrics.
The only real difference is whether the person carrying your sofa is wearing a company T shirt or a baniyan.
That is the sentence this project argues with. Fluxo's answer is to write the fare down, take a photograph, issue a number, and put all three in the sender's hands before anyone has to argue about what happened.
Every market figure and quoted review here is real, fetched on 29 and 30 August 2026.