How I Built a Modern Bookmark Manager in Obsidian

Discover how to curate web content in Obsidian. Save your collection locally with metadata, tags, and comments. Summarize content with AI.

How I Built a Modern Bookmark Manager in Obsidian

Inspired from some recent discussions within the Obsidian community on Discord and Mastodon, I decided to take a deeper look into how I could build my own curated collection of web content within Obsidian (i.e., bookmarks).

Usually, I try not to push Obsidian too hard, meaning I don't particularly enjoy the idea of making it something it doesn't need to be– but at the end of the day, what's on the web is simply content, and content can be organized in a way that is useful to the user. We're talking metadata, commentary, tags, page content, and the like.

In an ideal world, I'd be able to have something nested between my browser and my Obsidian vault that would allow me to quickly capture all of this in a new note that stores it all. Straightforward, right? Sort of. There are a couple of options available out there, and I would imagine that using some sort of Raindrop.io import is what the majority of people use. Personally, I find Raindrop a bit too bulky, and I don't want to have to rely on both an extension and a plugin. Obsidian is just markdown files at its core, so I wanted a solution that simply created files locally without being reliant on any kind of sync.

Enter Raycast (again, I know). Raycast already has an Obsidian Bookmarks extension but for some reason I wasn't able to get it working the way it was intended to work, nor could I adapt it to my particular style (for example, being unable to change the format of the output).

So I decided to build my own extension

It's available here, on the Raycast Store. I've dubbed the exntension "Obsidian Clippings", and it's a little bit more involved than a simple bookmark manager. At its core, the extension will prompt you to enter a few details about anything on the web you might want to save, namely: URL, Title, Sub-Folder, Tag(s), and Comments.

Obsidian Clippings

Notes saved via Obsidian Clippings are organized via sub-folders that serve as top-level categories, such as food or design, and are complemented by tags for further organization. Sub-folders are not mandatory, but I like to use them. Optionally, Raycast AI can be used to summarize content and save page content, but at the minimum the "metadata" you enter is always saved for those without access to Raycast AI.

There's a couple of limitations here:

The extension will provide you with helpful notifications while it parses a URL, and adds different messaging into the note itself if and when something doesn't go as expected.

There are also a few things that you must configure prior to using the extension:

You can of course configure both of these things after you've set them, should you change your mind. Let's see a few examples of this in action:

It's worth noting that the solution I came up with is opinionated, but I'm excited to see what readers think. Gathering feedback is a natural process for any open source application (extension or otherwise) so please send me feedback on Github if you take the time to use it. There are some features that I might add in the near future (if feasible) to make it a bit more user friendly:

That being said, initially I had no idea how to do any of this. I used a combination of the Raycast API documentation, and Raycast AI itself to help me build it out!

Taking that into consideration, it may take a while to build these additional quality of life features, but I'll try to get around to it if I have the time. Standing on it's own though, I believe it does exactly what I set out to do, with maybe a little extra 💪🏻

Discussion