TheTradeUnion connects buyers and sellers across borders, which sounds simple until you account for the fact that every country has different documentation requirements, currencies fluctuate mid-transaction, and "business hours" stop meaning anything once you have users on four continents.
1. Design for asynchronous trust
Domestic marketplaces can lean on instant messaging and same-day resolution. Cross-border trade can't. We had to design flows where a buyer in one time zone and a seller in another could build trust across days, not minutes — clear status states, unambiguous timestamps, and no assumption that either party is online right now.
2. Currency is a UX problem, not just a backend one
It's tempting to treat currency conversion as a backend detail: fetch a rate, apply it, done. In practice, showing the wrong currency context at the wrong moment erodes trust immediately. We ended up surfacing both the origin and destination currency together everywhere money is mentioned, even when it made the UI more crowded.
3. Compliance rules don't stay still
Customs and trade regulations change more often than most software teams expect. We built the compliance-relevant parts of the system — document requirements, restricted categories — as configuration rather than hard-coded logic, so updates don't require a deploy cycle.
None of these lessons are unique to trade software, but they show up faster and less forgivingly here than in most domains. Building for global users means the edge cases are the main case.