Nostroid - A cross platform nostr client (WIP)
Nostr is inspiring makers all over the world but so far there appears to be no decent nostr “social” client for the browser and none at all for Android.
Awesome-nostr lists 19 clients but upon closer inspection those are only 5 or 6 nostr “social” implementations:
- Branle - the original browser-based client developed by fiatjaf
- Astral - a Branle fork with massive changes by monlovesmango
- Damus - a client for iOS and MacOS by jb55
- more-speech - a desktop client by unclebob
- futr - a desktop client by prolic
- minds.com - a centralized social network with an appetite for nostr
Of the above, only the first two are browser-based and buggy and slow to the point of being mostly unusable on the PC (wait 5 minutes to send a message) and completely unusable on mobile.
This is why I looked into frameworks and tools to create a modern and fast cross platform client. The most promising was “Svelte”.
So I dived into learning Svelte, the browser database abstraction tool Dexie and - because weakly typed languages are a pain - TypeScript and started the project Nostroid.
So far, nostroid is not really a nostr client but you can already:
- Create and delete accounts
- Change the name and avatar
- See all events authored by and sent to the account
A recent tech demo shows how all the events of 13 accounts - a total of 11500 events - can be loaded in seconds the first time the app is loaded, after which the app would load and work faster than Twitter for example.