Wallet, minting and trading UX built around the unhappy path

NFT Marketplace Front-End

The full trading interface for an EVM marketplace — connect, mint, list, buy — with every failure state designed first so the product feels trustworthy.

All work
NFT Marketplace Front-End

Overview

Web3 interfaces live or die on the unhappy path, and this one had shipped happy-path first: a spinner and a hope. Users dropped off at wallet connect and again at the first transaction.

I rebuilt the connection flow as a proper state machine — connecting, wrong network with a switch button, account changed mid-session, rejected — and gave every transaction a full lifecycle UI with simulation before signing, an explorer link while pending, and plain-language copy on revert.

Reads moved off direct chain calls onto an indexer so listings and history load from a fast database, with RPC reserved for the write path and confirmations.

Outcomes

  • Wallet-connect drop-off cut by roughly a third after the state-machine rewrite
  • Transaction simulation catches reverts before the user pays gas
  • Approval and signing copy rewritten for people who don't think in nonces
  • Listings and activity feed load from a subgraph, not live chain reads

Tell me about your product

Share a short brief — problem, timeline, and stack — and I'll reply with a candid view on fit, effort, and the fastest path to a shippable milestone.