Cryptocurrency Wallet MVP and Pivot

A learning experience over morning coffee

Joseph Guerra
UX Collective

--

We all keep hearing about bitcoin, blockchain, and cryptocurrency. It’s fascinating technology with a great mission. Decentralized, borderless, peer-to-peer. It has potential to disrupt traditional financial systems.

Coffee reading: Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto

My good friend, Brandon Fancher, and I got interested in late 2016.

We read Satoshi Nakamoto’s white paper. We watched YouTube videos by Andreas M. Antonopoulos, Susanne Tarkowski Tempelhof, Jimmy Song, and Roger Ver. We bought some Bitcoin, Litecoin, Ethereum… and some regrettable altcoins. We explored developer technologies. We wanted to contribute, and build something in the space.

Inspiration

Our inspiration came from trying many wallets and exchanges. Most missed good design. We didn’t feel good using them. They were technical. Unapproachable. One exception was Exodus. Pleasing design. Easy to use. But a desktop application. And no mobile.

We wished there was an app like Exodus for mobile. So we tried to build one.

When you say: “I wish there was an app that….”

…build that app!

Discovery session

Our friend, Garren DiPasquale, led us through his Titanic Product Discovery session, to explore how our thoughts on blockchain, cryptocurrency, and financial systems might align to an app.

A product initiative, like a ship, sails somewhere (vision), has a rudder (direction), passengers (users), crew (workers), captain (decision maker), icebergs (risks), weather (market conditions), nearby ships (competitors), life boats (exit strategy), etc. Neat exercise. The end result was three things:

  1. Mission Statement. In short, we believe that blockchain tech can help create a more just and equitable financial system, especially if it’s usable, approachable, and human centered.
  2. Plan to build a mobile wallet MVP, to learn the tech and space
  3. Commitment to building this MVP during our morning coffee
Titanic Product Discovery whiteboard session

Mobile Wallet MVP Idea

We got inspiration from buying morning coffee with Apple Pay and Android Pay. We used Cash App and Venmo to send money to friends. We decided to build something like that, except for bitcoin. Well designed, like Exodus. Simple. Easy to get started.

What’s a wallet?

It’s a tool that stores digital credentials to access bitcoin on the blockchain. Wallets do not store, or hold the actual bitcoin. Just the credentials to handle your bitcoin. The bitcoin you own are recorded on the blockchain. A wallet lets you to send and receive that bitcoin. And see how much you own.

Product Process

Various product process exercises to frame, validate, and learn

After our Titanic Product Discovery session, we listed our hypotheses, assumptions, and criteria for success. We identified competitive products and target users. We made personas. We listed features, benefits, and differentiators. We made high level user flows and user tasks.

User Research

We used Mechanical Turk to target our general persona in a survey. We learned that most people had heard of bitcoin, and wanted to try it, but didn’t know how. Few people owned bitcoin. Even fewer understood how it worked.

We used Earn.com to learn from our more crypto-experienced persona. Earn.com rewards users in bitcoin, so we assumed some prior knowledge. We learned that security and usability were the leading factors in a wallet.

Reading reviews, on Google Play and iTunes, was a great research tool to learn what problems people have with existing, and competitive, products. Big themes were supporting altcoins, slow transactions, losing funds, and horrible customer support. Interesting…

Design Concepts

Some initial wallet wireframes

After this research, it was time to start sketching. We knew the wallet would have these basic features: send, receive, see a balance, scan a QR code, create a new wallet, restore an existing wallet with a mnemonic, and an onboarding process walking users through the basics of bitcoin.

We also knew that it had to be secure. So we decided that users’ private keys would never leave their devices. In other words, users, and users alone, would control their funds.

Design Prototypes

Our planned differentiator was a simple, usable wallet. There are some poorly designed wallets out there. Remember the feedback we got from research: security and usability? We wanted to make bitcoin approachable enough for the uninitiated. We admit, this was a high goal. But a goal nonetheless. We got inspiration from other wallets, banking apps, Dribbble, and Cash App.

Version 1: Inspired by swipe and simplicity.
Version 2. Inspired by Cash App.
Version 3: Inspired by Google Material Design and Dribbble.

I admit interface design was not my core competency. Still, I learned a lot from research, competitor wallets, perusing Dribbble, reading Google Material Design, and prototyping in Sketch.

Brandon and I realized we needed serious design help, beyond our own skills, to build a truly approachable wallet. Nonetheless, we continued with development with the version 1 swipe design.

Development

Brandon explored three sets of blockchain technologies.

All three used React Native, a framework for building native apps using React. Brandon has a lot of experience here. He hosted a React meetup and built the Charlotte Light Rail App in React Native.

The first version of the app used bitcoinjs-lib and BlockCypher, which has a lot of functionality out of the box. It supports Bitcoin, Litecoin, Dash, and Ethereum. But, Brandon quickly moved away from this due to the low API rate limits. It was too expensive to scale beyond a single developer. During this first version, we learned how product monetization might work. In short, wallet makers could profit by having sufficiently high exchange volumes, by integrating with services like ShapeShift and Changelly.

The second time around, Brandon rebuilt the wallet app using bcoin and feathersjs, hosted on our own AWS and Heroku stacks. We quickly ran into issues with bcoin’s ability to properly listen for transactions on watch-only hierarchical deterministic (HD) wallets. But we did learn how to stand up a bitcoin listening node on AWS. We had help from our cloud ops friend and guru Alfonso Cabrera.

Brandon finally settled on the bitcore-wallet-service and related APIs from BitPay. These had all the pieces we needed. We used HD wallets and BIP39 mnemonics for easy wallet backup and recovery.

Functioning Version

After weeks of morning coffee, Brandon had a functioning wallet on the bitcoin testnet. It ran in Apple Simulator and on iPhone. We each had a copy! The wallet could send, receive, see a balance, see a list of transactions, scan a QR code, create a new wallet, or restore an existing wallet with a mnemonic.

How we felt with the functioning wallet

There were lots of coffee shop high-fives the first day we sent each other bitcoin. We got some strange looks. It was a great success. A culmination of research, design, and development. We had our wallet MVP.

Turning Point

That was late 2017. Crypto was at an all time high. Coinbase, exchanges, and other wallets saw peak signups.

We continued reading reviews. Poor support and losing funds were consistent themes. Yikes. Losing people’s money? We didn’t want to be responsible for that. Or for handling a ton of general support cases.

In fact, Coinbase, Luno, Jaxx, other wallets, and some exchanges had trouble keeping up with support demand. And they’re actual companies.

So we considered a pivot.

We knew that two guys could not effectively support a wallet over morning coffee. We needed help with interface design and onboarding. Also, getting the volume of transactions on our wallet, to make it profitable (or even break even), would be a difficult task. And we knew security needed more attention.

So we stopped the wallet MVP. We weren’t prepared to flip from the testnet to the live bitcoin blockchain. We weren’t willing to give the wallet to users.

We had another idea brewing.

We stopped the wallet MVP

Holy moly?!

Joe, Brandon… you stopped building your wallet MVP? You had a functioning version!

Yup. We stopped. And we’re OK with it.

This MVP was a learning exercise. We were successful in that we learned about researching, designing, building, and supporting wallets. And those were valuable tools for other blockchain applications.

We can always pick it up again, or open source the functioning version.

The Pivot

Sending and receiving bitcoin was the part that interested us most. It was super gratifying to send Brandon bitcoin, then see his phone instantly acknowledge the transaction.

This was just like Cash App. Or Apple Pay. Part of our initial inspiration.

Remember, Brandon and I bought morning coffee. We used Apple Pay on our phones. Garren told us about his recent trip to China, where most people scanned QR codes with their phones to pay (in fiat) at stores.

Interesting…

What if we could buy coffee with bitcoin? Or with other cryptocurrencies? Using our phones? Like in China?

Brandon came across this Reddit thread featuring the bitcoin genesis block printed on a coffee mug.

Genesis Block Mug, as seen on Reddit

Encoded into the bitcoin genesis block was the January 3, 2009 headline from a popular UK newspaper:

The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

An interesting commentary on traditional financial systems juxtaposed with the deflationary and immutable intent of bitcoin. An exquisitely drinkable mug, to taste the taste of justice with every sip of coffee. And a great conversation starter.

Brandon and I had some good laughs at this Reddit post. We wanted our own genesis block mugs!

We also liked cryptograffiti, an online store to buy ironic bitcoin novelty items. You can pay with bitcoin, but users get redirected to Coinbase, who charges a transaction fee.

Heck, we could sell the genesis block mug, for bitcoin! Without intermediaries or additional transaction fees!

This became our pivot.

cryptograffiti bank novelty mugs

Pivot in Progress

How could we make buying a coffee with bitcoin easy? Or buying a mug online? As easy as Stripe or Apple Pay? How could we do this without a middleman? Directly from buyer to merchant? True to Satoshi’s original peer-to-peer intent?

Our pivot: a bitcoin (and bitcoin cash) payment system, without intermediaries. No merchant fees. A way to buy something online, or in a coffee shop, with bitcoin, with an immediate acknowledgement.

Genesis Block Mug Storefront

To start, this product will be a website selling a single item: the genesis block coffee mug. Users can buy the stylish novelty mug and will experience a usable, and gratifying, bitcoin payment system.

Users will enter their shipping address, scan a QR code to send bitcoin directly to the merchant’s wallet, then get an immediate transaction acknowledgement.

We restarted the product process. Started developing from scratch. We’re using our prior learning. And getting into Lightning Networks.

Those gory details are a story for another post 😉

Working Group

We continue to meet for morning coffee and crypto with other friends interested in blockchain technology. Samantha Shaibani joins us and helps with UX and design. Sam runs the Charlotte Women in UX meetup and wants to make blockchain accessible and usable. She recently wrote about our UX process while building this genesis block mug payment system, called Marché.

--

--

Digital Product Manager. Interested in blockchain, motorbikes, and painting.