Code Monkey home page Code Monkey logo

hoarder's Introduction

A self-hostable bookmark-everything app with a touch of AI for the data hoarders out there.

homepage screenshot

Features

  • ๐Ÿ”— Bookmark links, take simple notes and store images.
  • โฌ‡๏ธ Automatic fetching for link titles, descriptions and images.
  • ๐Ÿ“‹ Sort your bookmarks into lists.
  • ๐Ÿ”Ž Full text search of all the content stored.
  • โœจ AI-based (aka chatgpt) automatic tagging. With supports for local models using ollama!
  • ๐Ÿ”– Chrome plugin and Firefox addon for quick bookmarking.
  • ๐Ÿ“ฑ An iOS app, and an Android app.
  • ๐ŸŒ™ Dark mode support (web only so far).
  • ๐Ÿ’พ Self-hosting first.
  • [Planned] Downloading the content for offline reading.

โš ๏ธ This app is under heavy development and it's far from stable.

Documentation

Demo

You can access the demo at https://try.hoarder.app. Login with the following creds:

email: [email protected]
password: demodemo

The demo is seeded with some content, but it's in read-only mode to prevent abuse.

Stack

  • NextJS for the web app. Using app router.
  • Drizzle for the database and its migrations.
  • NextAuth for authentication.
  • tRPC for client->server communication.
  • Puppeteer for crawling the bookmarks.
  • OpenAI because AI is so hot right now.
  • BullMQ for scheduling the background jobs.
  • Meilisearch for the full content search.

Why did I build it?

I browse reddit, twitter and hackernews a lot from my phone. I frequently find interesting stuff (articles, tools, etc) that I'd like to bookmark and read later when I'm in front of a laptop. Typical read-it-later apps usecase. Initially, I was using Pocket for that. Then I got into self-hosting and I wanted to self-host this usecase. I used memos for those quick notes and I loved it but it was lacking some features that I found important for that usecase such as link previews and automatic tagging (more on that in the next section).

I'm a systems engineer in my day job (and have been for the past 7 years). I didn't want to get too detached from the web development world. I decided to build this app as a way to keep my hand dirty with web development, and at the same time, build something that I care about and use every day.

Alternatives

  • memos: I love memos. I have it running on my home server and it's one of my most used self-hosted apps. It doesn't, however, archive or preview the links shared in it. It's just that I dump a lot of links there and I'd have loved if I'd be able to figure which link is that by just looking at my timeline. Also, given the variety of things I dump there, I'd have loved if it does some sort of automatic tagging for what I save there. This is exactly the usecase that I'm trying to tackle with Hoarder.
  • mymind: Mymind is the closest alternative to this project and from where I drew a lot of inspirations. It's a commercial product though.
  • raindrop: A polished open source bookmark manager that supports links, images and files. It's not self-hostable though.
  • Bookmark managers (mostly focused on bookmarking links):
    • Pocket: Pocket is what hooked me into the whole idea of read-it-later apps. I used it a lot. However, I recently got into home-labbing and became obsessed with the idea of running my services in my home server. Hoarder is meant to be a self-hosting first app.
    • Linkwarden: An open-source self-hostable bookmark manager that I ran for a bit in my homelab. It's focused mostly on links and supports collaborative collections.
    • Omnivore: Omnivore is pretty cool open source read-it-later app. Unfortunately, it's heavily dependent on google cloud infra which makes self-hosting it quite hard. They published a blog post on how to run a minimal omnivore but it was lacking a lot of stuff. Self-hosting doesn't really seem to be a high priority for them, and that's something I care about, so I decided to build an alternative.
    • Wallabag: Wallabag is a well-established open source read-it-later app written in php and I think it's the common recommendation on reddit for such apps. To be honest, I didn't give it a real shot, and the UI just felt a bit dated for my liking. Honestly, it's probably much more stable and feature complete than this app, but where's the fun in that?
    • Shiori: Shiori is meant to be an open source pocket clone written in Go. It ticks all the marks but doesn't have my super sophisticated AI-based tagging. (JK, I only found about it after I decided to build my own app, so here we are ๐Ÿคท).

Star History

Star History Chart

hoarder's People

Contributors

mohamedbassem avatar kamtschatka avatar mdsaban avatar ahmadmuj avatar lilacpixel avatar lbrame avatar cedmax avatar rosin1 avatar vivekmiyani avatar devome avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.