How It's Made
To abstract away complex web3 interactions, I am using Portis web3 provider. It's great for my use case because the login is pretty similar to what newcomers are used to from the web2. And it's especially nice in this app, because users can skip signing loads of confusing IPFS messages. I built a chrome addon and a demo page, using React. I use 3box to access IPFS, to save content, and to track the relationships between ETH addresses.