Deadweight: price your generosity before you ship it
Built for the DEV Weekend Challenge: Generosity Edition . Live: https://deadweight-jet.vercel.app Repo: https://github.com/AnubhavDash/DeadWeight The coat Someone in Rasuwa needs a coat. You have a coat. The arithmetic looks finished. It isn't. Between your hands and theirs sit an air waybill, a customs broker, a sorting line paid by the hour, a warehouse in a country whose warehouses are already full, and — often enough — an incinerator. Every one of those steps has a published rate. None of them appear on the box. This has a name in the humanitarian sector. They call the arrival of unrequested goods the second disaster , and they have been asking people to stop for forty years. The Logistics Cluster writes guidance about it. OCHA writes guidance about it. The IFRC's disaster-law reviews keep finding the same story: after Cyclone Pam, unsolicited donations sat in Vanuatu for twelve months. Airlink has put a number on the share of donated goods that is simply inappropriate for the response receiving it. And still the boxes come, because the impulse behind them is correct . Someone is cold and you have a coat. There is nothing wrong with that instinct. What's wrong is that nobody ever shows you the invoice. So I built the invoice. What it is Deadweight is a ledger for the gap between giving something and it arriving. You build a consignment on a manifest — winter jackets out of a wardrobe, bottled water by the litre, used shoes, soft toys, the medicine cabinet. You pick a route: air (days, and the only way into the cut-off districts), road over the Birgunj–Raxaul crossing (weeks), or sea and road (months, because Nepal is landlocked and the ocean stops at Kolkata). Then it prices the whole journey in USD, line by line, and every line opens: DECLARED VALUE $2,800.00 3 line items unusable used clothing -$1,615.00 15% of this class arrives usable SOURCE [ASSUMPTION] not needed or not appropriate -$540.00 40% of this class arrives usable SOURCE [ASSUMPTION] air freight D