Lightweight typescript micro app for basic nostr profile management. Current USP is offline backup and restore.
Minimial javascript dependencies. no JS frameworks. no state management tools.
Supported profile events: kind 0
, 10002
and 3
.
- backup your profile events to offline browser storage
- review changes between backups
-
0
-
10002
-
3
-
- selectively restore previous versions
- download profile backup history as JSON file
- restore backups from JSON file
-
Metadata
- basic editing
- nip05 verifiation
- profile and banner previews
- preserve, edit and remove custom properties
-
Contacts
- Add Contacts based on nip05, nip19 (npub, nprofile or naddr) or hex
- keyword search profiles to find contacts
- keyword search profiles to find contacts of contacts
- Remove Contacts
- Edit petname and relay
- Suggestions Engine
- Contacts recommendation based off social graph
- Suggest updates to contact relay based on Contact's kind
10002
and2
events
-
Relays
- editable table of read / write relays kind
10002
event - auto suggestion of
10002
event based on contact's relays if no event present - evaluation of
10002
based on contact's - decentralisation score to encourage users not to use the same relay
- editable table of read / write relays kind
-
manage event distribution to relays
- Show which and how many relays return an each event (and including historic events)
- Show warning if selected write relays don't
- suggest republishing events (particularly
10002
) to spread them to more relays if appropriate
-
look far and wide for events
- cycle through all known relays to find current and previous versions of profile events to enable restoration. reccommended only when accessed through a VPN
- connects to the minimum number of relays
- connect relays specified in
10002
or 3 default relays
- connect relays specified in
- minimises the number of open websockets
- use blastr relay to send profile events far and wide
- efficent (TODO: currently the 'Contacts' functionality is very inefficent)