How do I combine js-ipfs and js-libp2p?

Pretext: I’m creating a social network, and I need to get messages between users. My current solution is having each user use their PeerID as a pubsub topic in js-ipfs.

LibP2P’s direct connections allow for better messaging, while js-ipfs’s storage allows a place for content to be stored.