I would appreciate a tutorial in which you create a system that touches all subjects of a p2p app but using as much native Node.js code as possible instead of relying on 3rd party packages. After looking at the chat example I did not experience a moment of clarity/understanding as it uses packages such as pull-stream, pull-pushable, waterfall, async.parallel, etc. which I wasn’t familiar with at the time.
I took the time to learn about them so I could continue working on my project, but imho newcomers to libp2p should not have to first learn about other packages before being able to use libp2p even though these 3rd party packages make things more efficient.
I’d create these examples myself but my knowledge of libp2p is still limited (mostly due to the not-so-great examples which I usually learn the most from) so hopefully this will get addressed in the near future. I’d also prefer having a handful of quality examples rather than having 30 bad examples which work but do not convey the workings of libp2p in an easy to understand manner.
Just my 2 cents.