Back to home
Potpourri

Creating delightful products

I'm a fan of Lenny's Podcast and recently caught his episode with Nesrine Changuel on building delightful products. She breaks down what makes a product truly delightful:

  1. Removing friction
  2. Anticipating needs
  3. Exceeding expectations

We just revamped our payment widget with these principles in mind, and I wanted to share a practical example of how we did that.

Removing friction

Faster payment selection: We ditched the old "select network then token" flow. Instead, we now show users all their network/token pairs upfront. When we first built Loop customers cared about networks but now most people just think in terms of tokens and wallets.

More is not better. Research shows that with too much choice, customers are less likely to buy. While we support any ERC-20 token across all EVMs and Solana, displaying every option actually creates friction (think of the classic "jams study" - too many choices become a burden). So we focus on top currencies, since 99% of payments happen in stablecoins.

Anticipating needs

Notifications. Wallet interactions are not always the smoothest. We've added in gentle notifications when key steps need to take place, like notifying a customer when to sign a transaction in their wallet.

Increasing confirmed payments. Since we can see a wallet's balance before a transaction takes place, we are able to add safeguards like greying out the pay button and providing notifications when wallet balances are too low. We also make switching between wallets and addresses simple and easy.

Refresh and automatic connections. We also added a "refresh" button for wallet top-ups and automatically connected returning users' wallets - small touches that save time when customers need them most.

Exceeding expectations

Superior repeat experience. After a customer pays, we remember their preferred wallet, token, and network. Next time, everything is pre-selected for faster checkout. We also offer autopay - customers give approval once and future payments are automatically charged.

Direct payments. At Loop, we're known for our autopay functionality. We recently added in the ability to send a direct payment to an end wallet - no approval transaction required.

We're constantly looking for ways to improve our product and experience. Let me know if you have any suggestions or pain points.

For example, we've considered adding swaps directly in the widget, but haven't pulled the trigger since customers tend to hold stablecoin balances and merchants accept payments across all chains.

Should we add this feature? What's your take?