I stole SilverBullet

I’m not sure where to start…

First of all: sorry for the clickbait title. :slight_smile:

Basically (and tl;dr) I reimplemented the server component of SilverBullet in Rust: GitHub - silvernotemd/silverbullet-rs

I had a few reasons to do that, but before I go into that, I want to touch on my (brief) history with SilverBullet. (Feel free to skip this section if you are not interested)

I’ve only seen SilverBullet a couple months ago first, when a friend and colleague of mine demoed it to me. I immediately fell in love with the ideas of SilverBullet. My brain started generating ideas I could do with it.

There was one problem though: it would have been the nth application I had to self-host somewhere. Not that it was a huge problem: I have the means and the knowledge to do that. But it was the end of 2025, I was tired and I didn’t want that extra “burden”.

That’s when I decided I would combine SilverBullet with another discovery of mine: Cloudflare workers.

CF Workers are really great. You just deploy them and they work. (I’m not naive, you need a little bit more than that, but it’s relatively easy). SilverBullet is in Go which can be compiled to WASM, so in theory it could work. In practice though, WASM and Go are not good friends and it’s not easy to get them to the same table.

This is where Rust enters the picture. I already told you one of the reasons I went with Rust: it can be compiled to WASM and it runs on CF Workers.

The other reason: I frickin’ wanted a project where I can finally dip my toes into the Rust pond and get familiar with the language. And I thoroughly enjoyed the experience!

So now I have a SB clone in Rust that runs on CF Workers.

I open sourced the parts that I’m willing to admit I wrote. There is more to come. I want users to be able to run SB on their own on CF.

But as I was working on this project, another idea came up: what if I could run this for others who feel the same way and don’t want to bother running SB.

So I’ve also started to put together a hosted version. It’s very much alpha (maybe not even alpha) at this point. Most of it is AI slob. But I decided to share it anyway, maybe someone will be interested: https://silvernote.dev/

Fair warning: this is a dev instance that I dump occasionally, so don’t save anything important here. Feedback is welcome though.

Most of my note taking happens on paper or in Obsidian at the moment, but it always bothered me I can’t use it for more. I can’t integrate it very well with other services.

For example: I can’t really use it as a bookmark hosting service. Well, now I could build something like that with SB.

A couple ideas I have with my SB clone:

  • Browser bookmark extension: save bookmarks directly into SB, add notes, etc
  • Similar thing: Readwise integration: sync reading and highlights into SB
  • Secret management: since there is no shell in CF, add secret management for tokens (most notably GH) (OR some sort of GH auth)
  • Bring your own storage: store your data in your storage

Last, but not least: I often work on educational materials. SB will be perfect for hosting those: students can read the read-only version, I can edit it.

I’m pretty sure I’ll have other ideas.

Why am I sharing this wall of text here?

Community always plays a large role in the success of any project, so I thought it would be a good idea to introduce myself here, but I really have no idea whether this project will take off and have a future or dies in a couple months or even weeks.

I enjoyed the experience, but I haven’t decided if I want to spend more time on it. So the other reason for being here, is just to publish everything, so others can make use of it if they want to.

1 Like

Nice!

Cool. I had some concepts of running an older version of SilverBullet on cloudflare at some point, but ultimately abandoned it. It’s an interesting platform though, although yeah — it’s super proprietary. You very easily tie yourself 100% to cloudflare, which could be fine, but…

So what’s a bit unclear to me here is if you intend to completely fork the project, or just the server part? On the repo I just see the server. However, your plans seem very much frontend focused. Are you going to fork that too and go out on your own, or can we expect some of these things (like the bookmark thing, although we have something like that already: Idea: A Silverbullet browser bookmarklet? - #5 by daveb) to make it back to SilverBullet? Readwise integration I also planned at some point, although I’ve stopped using the service.

Well, the Cloudflare integration layer is intentionally thin. It’s basically just the R2 implementation (although I have an OpenDAL one too). The rest is standard stuff.

Just the server part. The frontend is completely the same, so much so that I just build it from the official repo.

Quite frankly, it’s the opposite. Most of these integration would either become part of the server or become Plugs.

I understand that SilverBullet tries to be client-first, but some of these features are better implemented at the server side IMO.

But if anything can make it back to the original, I’d be happy to contribute. Honestly, I’d happily contribute the whole Rust port if there is interest in that.

Cool, I haven’t seen that one yet. I’ll check it out.

I’m an Obsidian user, so basically anything that can go into Obsidian, could become an SB extension, too.