I'm actually in this boat for the last two weeks. Here's some more questions I've had as I'm learning.
1) Has anyone built a minimum viable client in the language/framework I'm familiar with that I can look at, modify, and use as a basis to get me started with?
2) Is there a minimum viable relays I can run that handles and stores events so I can play in my own sandbox without spamming other peoples relays?
3) What's the minimum info I need to fetch and write a note?
4) How do I fetch all notes?
5) How do I fetch a specific note?
6) Can I apply filters to only fetch certain notes?
7) Can I add extra data to note without breaking the protocol? What are best practices?
8) Why does everything seem to be arrays instead of objects?