A project I started poking at last summer is at a point where it makes sense to share. I started working on it shortly after nsite was beginning to *sometimes* work, and immediately after some of my earliest nsyte.run releases.
Composable nostr apps, not monoliths.
Nostr Applets, or napplets, are tiny programs that do one thing and run in sandboxed environments. Shells broker the dangerous stuff, the runtimes behind them handle the implementation and the higher-level UX. Each applet stays portable, disposable, and harder to capture.
Other people are circling similar ideas, NMP by @PABLOF7z and Tiles by the @Soapbox team, to name just two.
This is my take: A protocol that defines a trust boundary. First target is the web as an app runtime for nostr, with alpha tooling, sharp edges, and no fake polish. They are distributed using the same event shape as nsites, which means the napplets themselves are resolved over nostr and blossom.
Key difference between competing solutions and napplets, is that napplets can talk to each other, and there is no runtime lock-in by design. Napplets are a seam that define a trust boundary and some grounding concepts.
The protocol is still under active development and contributors are welcome.
I will be posting a series of articles on the subject with findings, pitfalls and developments.
Some links:
Web Packages:
NAPs track:
Web Runtime Packages:
"Kehto Playground," an imperfect and chaotic proof of concept and app I use to debug, but can also act as a protocol visualization:
History:
I started by developing something like 44billion.net but it was a native app that leveraged NIP-07 to run "napps":
Ceiling was too low on that prototype, so I forked chromium and started ideating an expanded interface in a browser forked from Thorium:
Those research spikes led me into a novel prototype, that has since been upgraded to a proof of concept that implements NIP-5D, and will be released very soon.
I have also been working on a RISC-V kernel that is optimized around nostr and attempts to implement the napplet protocol boundaries expressed as native boundaries over an IPC.
For now, if interested in the concept, check out
and lmk what you think.

napplet — composable Nostr apps (NIP-5D)
Sandboxed, single-purpose Nostr apps that delegate signing, storage, and relays to a host shell over a simple message protocol. Compose clients ins...
Nostr Applets, or napplets, are tiny programs that do one thing and run in sandboxed environments. Shells broker the dangerous stuff, the runtimes behind them handle the implementation and the higher-level UX. Each applet stays portable, disposable, and harder to capture.
Other people are circling similar ideas, NMP by @PABLOF7z and Tiles by the @Soapbox team, to name just two.
This is my take: A protocol that defines a trust boundary. First target is the web as an app runtime for nostr, with alpha tooling, sharp edges, and no fake polish. They are distributed using the same event shape as nsites, which means the napplets themselves are resolved over nostr and blossom.
Key difference between competing solutions and napplets, is that napplets can talk to each other, and there is no runtime lock-in by design. Napplets are a seam that define a trust boundary and some grounding concepts.
The protocol is still under active development and contributors are welcome.
I will be posting a series of articles on the subject with findings, pitfalls and developments.
Some links:
Web Packages: GitHub
GitHub - napplet/web
Contribute to napplet/web development by creating an account on GitHub.
GitHub
GitHub - napplet/naps
Contribute to napplet/naps development by creating an account on GitHub.
GitHub
GitHub - kehto/web
Contribute to kehto/web development by creating an account on GitHub.
napplet playground
GitHub
GitHub - sandwichfarm/napp.run
Contribute to sandwichfarm/napp.run development by creating an account on GitHub.
GitHub
GitHub - sandwichfarm/dryft
Contribute to sandwichfarm/dryft development by creating an account on GitHub.

napplet — composable Nostr apps (NIP-5D)
Sandboxed, single-purpose Nostr apps that delegate signing, storage, and relays to a host shell over a simple message protocol. Compose clients ins...