Skip to content


Repository files navigation

Pretty Good Apps

This is a refactor of my older project, electron-nostr, and is based on electron-react-boilerplate.

Pretty Good Apps is a desktop client (linux, mac, windows), embedded currently with two apps:

  • Curated Lists: an implementation of the DCoSL protocol (decentralized curation of simple lists). Currently functional although bugs exist and UX is poor.
  • Pretty Good Nostr, a standard nostr client, currently with limited functionality

The fundamental purpose of Pretty Good Apps is to provide a proof of concept that genuinely decentralized, web of trust-based curation of knowledge is something that can be done, despite the fact that as of today, we still haven't truly done it. And once we do, it be incredibly useful! Of course, this hinges on the question: what do we mean by "genuine decentralization?" I hope this app will stimulate an examination of that question. See DCoSL for an introduction to this topic.

As of late June 2023, I am in the process of using the basic tools of Curated Lists and building a third app: Curated Nostr Channels. With the Channels app, the user can select a topic (a "channel") such as monetary policy, nostr development, entertainment, sports, etc, and see a nostr feed focused on that topic. Don't see a topic you like? Add it! The list of topics, their arrangement in a hierarchy (e.g. movies is a subcategory of entertainment), and pubkeys that associate with a given topic will all be curated by your web of trust following the principles and methods described in DCoSL. Among other things, this will be a great tool to discover new users to follow.

tl;dr: My goal is for Curated Lists to prove that genuinely decentralized curation of knowledge is possible in theory, and for the Channels app to demonstrate utility.

overviews of specific apps

Standard nostr client. Functional, but somewhat buugy with poor UI.

Proof of concept that DCoSL works in theory. Functional, but buggy with poor UI.

An attempt to demonstrate the utility of DCoSL by using it to crowdsource content curation. Not yet complete.

NIPS implemented

Download and install Pretty Good

latest releases will be made available here.


If you're a developer and/or comfortable with the command line, first check to made sure you have node and node package manager installed on your machine. If you're not sure, use commands: node --version and npm --version to check, and install them if necessary.

Then clone this repo and install dependencies:

git clone --depth 1 --branch main pretty-good
cd pretty-good
npm install

Start the app in the dev environment:

npm start

Packaging for Production

To package apps for the local platform:

npm run package

The packaged app can now be found in release/app/build.

For more packaging options, including packaging for other platforms and debugging production build with devtools, see erb packaging options.


GNU Affero General Public License v3.0 © Pretty Good


a nostr desktop client for mac, windows and linux, motivated by the desire to build a decentralized web of trust




Code of conduct





No packages published