GM. Watching all the Nostr hackathon presentations.
https://nosta.me This is a pretty nice Nostr on-boarding UX flow for someone new.
My main concerns are that browser extensions should likely support another function for creating new keys - otherwise in this example the website could save a copy of your key.
Then we also have the issue of supply chain attacks or extensions having malicious code to steal private keys. We really need a way to use our devices Secure Enclave directly.
I wouldn’t mind an auto-translate selected languages option(with visible ‘this has been translated’ UX. I think the volume would still be lower than free API limits.
They locked down hard during Covid. Unsure if they’ve opened up yet.
It’s time to thank ManBearPig everybody. 
As we grow the next question is around partitioning data and how to cache in front of the db better. Likely based on kind and created_at to trial for partitioning.
I’ve split a fair chunk out, but have jsonb event data in events table too. Size is mostly due to indexes (but also 13MM events) - I should likely time bound them. My workload is less as a relay however.
It will likely come down to what’s your db workload like and what’s the best store for that case - often storing the same data lots of times in different ways (eg. elasticsearch, caching, data warehouse, etc.
Also testing Cassandra for query performance. Need more time.

We also need a way to track if a bounty has been started/attempted.
Maybe multiple people/teams at the same time with a single winner is ok, however particularly for smaller bounties it would be very easy for multiple people to start and finish without knowing until they attempt to claim.
May need some kind of hold time window however, as otherwise someone could start and never finish.
We can then try to best effort consolidate related events like for a channel or in a reply chain on the source relays. Doesn’t mean we have to, however it’s the best lead clients with no information have to follow first when querying.
The landscape may change in a few ways.
We may have dedicated (more centralised) relays to query only metadata events (kind 0/3/10005).
We may have dedicated indexing/aggregating relays (we have today, but used as generic relays) when you have little more than an event id. These could include event aggregates stats data.
We may have archival relays that host older content. Query if event is expected to be older than 3 months for example.
We will continue to have mass broadcast relays, when events need maximum reach.
And likely other specialty relays or services - like perhaps caching media from events like images that may break in the future.
Starting to break down a best practise way we can determine the best relays to publish events to based on context.
It’s not simple.. but if we break it down, we should be able to form patterns and make is easier.
Obviously the same needs to be done for querying the best relays when looking for an event too - I’ve started that as well.

#[0] I’ve started this bounty. Will need to clarify how the GitHub action stuff can work, but have updated NIPs and a bash script to generate graph. Will put details in the PR. https://nostrbounties.com/b/naddr1qq9rzd3h8yerzwfexqmqygpm7rrrljungc6q0tuh5hj7ue863q73qlheu4vywtzwhx42a7j9n5psgqqqw4rsdu2nfu
An update. We now have a graph of NIP interdependencies! Maybe someone can help make it more pretty.. but all data is there.
https://svgshare.com/i/rSB.svg
https://github.com/nostr-protocol/nips/pull/396
#[0]
#[0] I’ve started this bounty. Will need to clarify how the GitHub action stuff can work, but have updated NIPs and a bash script to generate graph. Will put details in the PR. https://nostrbounties.com/b/naddr1qq9rzd3h8yerzwfexqmqygpm7rrrljungc6q0tuh5hj7ue863q73qlheu4vywtzwhx42a7j9n5psgqqqw4rsdu2nfu
Yep. Drafting an alternative for NIP-04 DMs is ongoing. I don’t have anything to share, but telegram and GitHub have some discussions.
I’m looking forward to AI whistleblowers. Hard to lock them up unjustly.
Fiatjaf knows about it. I only started and finished yesterday.
Just unsure how to handle nprofile1 or naddr1 - because you don’t know what relays to query, so you end up having to mass connect to get event ids. And then likely batch submit deletion with 500-1000 event ids in each, which also means it’s hard to clearly understand what you’re signing as a user.
I’ve built something that supports note1. I’ve asked Fiatjaf something similar - support for addr1 and profile1 are more like search and destroy with lots of relays and recursion if it’s delete all events.




