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
  • - 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.