The time has come to unveil Grimoire, a bookmark manager designed specifically for everyone who is missing a little bit of magic touch when it comes to organizing their bookmarks.

Its mission is simple: to help you add, process, and organize your bookmarks in a way that makes sense.

Reasoning behind the project

I’ve always struggled with organizing my bookmarks. Even though I tried many options, none of them really appealed to me. The built-in bookmark managers in browsers were too basic and didn’t allow me to organize my bookmarks in a way that made sense to me. The most popular external bookmark managers have been too simple, too complicated, or too expensive for what they offer.

What I liked the most was the idea of having a bookmark manager with a relational database I had access to. This would let me retrieve my bookmarks in any way I wanted, and I could easily add new features in the future. I’ve searched for a solution that would allow me to do that, but I couldn’t find anything that would fit my needs.

And that’s how the idea of the Grimoire was born. I wanted to create a bookmark manager that would be simple to use, but also powerful enough to let me organize my bookmarks in a way that made sense to me. Moreover, I wanted to take SvelteKit and PocketBase for a spin, and this seemed like a perfect opportunity to do so.

How it looks now

Starting with v0.1.0, Grimoire has most of the basic features you would expect from a bookmark manager:

  • bookmarks:
    • can be added, viewed, edited, and deleted
    • can be organized into categories and tagged
    • metadata, like title, description, HTML content, favicon, and image, is fetched from the website and stored locally
    • can have notes added to them
  • bookmark list:
    • display in a grid or list view
    • can be searched by title, description, URL, and tags
    • filtering by category, tag, and and more
    • sort by date added, domain, and more
  • users:
    • can sign up and sign in
    • all bookmarks, categories, and tags are private to the user
  • admin panel:
    • is used to manage users and see their bookmark, category, and tag counts
    • can be used to preview most of PocketBase settings
  • other:
    • it’s dockerized, so it’s easy to run it locally or deploy it to your server
    • all the benefits of a self-hosted PocketBase installation, like scheduled backups (local and to S3), high performance, and data security
    • dark mode, because dark wizardry requires darkness
    • responsive design as magic should be accessible to everyone, everywhere
    • early and experimental support for AI-powered features (more on that in the future), like automatic tag suggestions
  • and that’s just the beginning!

What’s next

It’s still a work in progress, but I’m happy with the functionality provided so far. You can expect more useful features, like a way to import bookmarks from other services and export them to most popular file formats, public profiles, better admin panel, AI-powered features - just to name a few. For more details, check out the roadmap.

How to get it up and running

If you want to try it out, you can run it locally!

Contributors are more than welcome​

To make Grimoire even better, I need your help! Don’t be a stranger and check out the contributing guidelines today!

  • sirzoyisp@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Thanks for sharing your project with us, but did you know that adding a screen shot somewhere won’t kill your project⁉🗿

  • Baconspl1t@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    I try to test this out but having problems setting it up properly?

    I set an Email and Password in all of the .env files and started the container with docker-compose up. But neither the admin panel or the normal login accept the credentials.

    Any help please?

  • KoppleForce@alien.topB
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    “Cross-site POST form submissions are forbidden”

    Every time I try to log in with the info i put into the .env file. Doing “sign up” from the app does not do anything.

    • DearBrotherJon@alien.topB
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I’ve been poking around trying to deploy this as well.

      You’ll want to edit the Dockerfile and make sure your origin is set to whatever url you’ll be accessing grimoire from.

      However, even doing this, I’m not able to login even when I manual inject a user into pocketbase.

  • Ziritione85@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    It has not been possible to install it on a raspi4 (2GB) it stays installing forever… To be more specific, at this point:

    => [grimoire build 1/2] RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile 429.3s

    • goniszewski@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I know that making your own image can be a real challenge when the output has almost 1GB. In next 24h I will try to put some images on Docker Hub.

    • goniszewski@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      The project relies heavily on PocketBase, a conscious decision. Although it could, and maybe even should, be abstracted later, the app will be limited in the authentication department by it.

      In short: I can’t guarantee LDAP support in foreseeable future :(

      • forwardslashroot@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I don’t know why i got downvoted. I asked because it is hard to keep up with users’ credentials with local user db, especially with other selfhosted services.

      • emprahsFury@alien.topB
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Pocketbase supports oauth, do you expose adding custom providers (possibly in the .env.docker)? In line with the other guy, all my users are already setup elsewhere. It’s increasingly a nonstarter to have a) a wasted identity provider and b) redo all this work for every new app.

        Although it is a nice step up to have multi-user support at all.

  • sirquack0@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    This is what I was looking for! one thing I would like is having the ability of having the bookmarks in the regular bookmark tab to easily access them as if I was using the browser. Is that possible?

  • gazoscalvertos@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Have always felt the same way about bookmark managers, we need one to rule them all.

    Thought about a semantic search? I always end up looking for bookmarks but don’t remember the website and I haven’t stored it in an organised way

    • goniszewski@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thank you! I hope it will allow for smooth contributions for anyone willing to help make Grimoire better 🙂

  • traeblain@alien.topB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    This looks great! Been debating between all the different bookmark managers available. Definitely going to give this a go.