Table of Contents
Do not index
Do not index
This is my journey of building NostrSky
Everything started with this article from @fiatjaf describing BlueSky as a scam. BlueSky is an alternative to Twitter based on AT protocol.
They are good clients for Nostr on the market, but they are specific per platform, and no one works for all platforms. Here is a list of the best Nostr clients I know per platform:
PLATFORM | APPLICATION | DEVELOPER/GITHUB |
Android | ||
iOs | ||
Web | ||
Desktop client | More Speech |
My ambition is to create a Nostr client that is working cross-platform: Android, iOs, Web, and as a desktop client. And, of course, to be better than BlueSky (and better than Twitter). I will name it NostrSky.
This is my journey!
Starting NostrSky
First, I have to get the domain. Simple job because nostrsky.com is free. I use AWS Route 53 to buy and register the domain because it is the tool I usually use for this kind of activity.
Then I have to choose the technologies. Because my main goal is to create a cross-platform client, the best option is the Ionic framework. I choose to use Angular because I have experience with it, but in Ionic, you can also develop with React and Vue.
And I choose Capacitor instead of Cordova for native plugins because it is modern.
I have to play with some mockups.
Always is a good idea to start with some HTML mockups (mobile wireframes) to figure out how the application will look. These are pure HTML pages without any backend - everything is hard coded. And they are looking quite well - isn’t it?
Publish the app on the web →
So you can browse it at nostrsky.com. I used Firebase hosting for this.
And I embedded it here for you. You can play with it right here:
Playing with relays
There is a good list of Nostr libraries, tools, and resources:
The first library to play for accessing the relays from JS is nostr-tools. I hope it will be enough to add some dynamic data to my app.
nostr-tools
Github
nostr-tools
Owner
nbd-wtfUpdated
Mar 18, 2024The other option for me is to try one of the existing Java libraries for working with Nostr.
nostr-java
Github
nostr-java
Owner
tcheericUpdated
Aug 27, 2023Next steps
- show dynamic info instead of hardcoded info
- a page to manage the relays
- publish in Google Play Store and Apple App Store
- generate the desktop client with Electron
Conclusion
I aim to create a cross-platform Nostr client called NostrSky that is better than BlueSky and Twitter. I have chosen to use the Ionic framework with Angular and Capacitor for native plugins. I have created HTML mockups and published the app on the web using Firebase hosting. I plan to add dynamic data, create a page to manage relays, and generate a desktop client with Electron.