Hacker News new | ask | show | jobs
Show HN: Linkidex – save and sort the URLs you care about (linkidex.com)
66 points by rdavidr 1350 days ago
Hi HN! My name is David (david@linkidex.com) and I am the author of Linkidex (www.linkidex.com)! My goal is to make bookmarks better.

I built Linkidex because I was getting overwhelmed by the number of things I had to keep track of on the internet during my day to day job. Constantly needing to re-find various wikis or jira epics or project proposals or whatever was eating into my day. I was using a chrome extension to manage urls, but the extension was getting unwieldy as my list of “important URLs” grew and I started looking for alternatives. There are a few really cool bookmark managers out there, but I wasn’t satisfied with what I saw. Regular bookmarks don’t cut it either for me as I need something that works across browsers and devices. Thus, Linkidex was born.

The most basic idea with Linkidex is that you can go to Linkidex and just start typing. Linkidex will search across your link titles, link urls, categories, and tags all at once. Click the result you are looking for and it opens in a new tab. If you want to scope your search by specific categories or tags you can do that too.

Linkidex is a progressive web application. It (mostly) works offline and it can be downloaded to your phone and act like a native app without requiring you to grant it any permissions. The back end is rails, and the front end is React, Typescript and GraphQL.

Security wise it is deployed to AWS. The database and back end are all wrapped up in a VPC. The front end supports 2 factor and WebAuthn, so you can use a yubikey or your device's fingerprint reader as your second factor.

Linkidex can import and export bookmarks to and from your favorite browser. That said, I’ve limited the number of links / categories / tags a given user can have for now on Linkidex to prevent anything insane from happening.

All feedback / feature requests / complaints / whatever welcome. Thanks for checking out Linkidex!

17 comments

What it misses for me personally is an ability to search over the pages my links are pointing to. Ideally within some additional radius over the links these pages have. Perhaps, it won't be easy to implement, but it looks like the only way to find a page you've bookmarked a year ago when you vaguely remember what was it about... Even integration with Google Custom Search would do the job here.
To clarify, the suggestion here is to search the contents of a given Link, not just the link's title or url?

For example, if I have a webpage "www.linkidex.com/test" which displays a bunch of text, including "HackerNews2022", you need the ability to find this link by searching for `HackerNews2022`, assuming that you haven't named the link `HackerNews2022` or tagged it or categorized it as such?

Some of our competitors have this feature, but this feature comes at a cost. What happens if the given page you have saved changes? What if you save a page "New Laptop setup instructions" and those instructions change? It may be harmful to follow laptop setup instructions that are out of date.

Yes sir, exactly. There's too much hassle in manually categorizing and tagging everything and it still inferior to search. Just like in good ol' days site catalogs were made extinct by search engines development...

It's ok if bookmarked pages change. It's no different from a normal search engine, you just reduce the scope of a search from the whole internet to some private curated collection. Google CSE is good for that, one just need to write an interface to update it with bookmarked links...

Pinboard (http://pinboard.in/) provides a full-text search across all bookmarked sites if you have an archival account.
Can linkidex display bookmarks as a grid page of favicons? I find this presentation more dense and using spatial memory helps me get to a bookmark more quickly.
This is a great point. The chrome extension I was using before building Linkidex had a fixed layout, and I was often times able to quickly navigate it without reading what I was clicking on because I had memorized where certain things were.

the first UI I built with Linkidex was a grid instead of rows. I moved to rows because the grid became tedious for users to parse when they began to search or filter and grid elements started shuffling.

Linkidex does not currently get a sites Favicons, and currently doesn't have a way to fix where a given Link is on the page. I have catalogued this feedback thank you.

What do you do when there is no favicon, or it looks like this? https://www.marginalia.nu/favicon.ico
A naive solution could be to just display the first letter of whatever the user has named the given link. Not as helpful as a favicon, but it will prevent the page from looking broken if a bunch of favicons don't exist.
Lots of options: Opera on android generates a favicon if the domain is less than 6 letters just from the letters. Use of colors (hashed from the name I guess) also goes a long way.

No way to fix ugly favicons though. Name of of domain can still be used as well.

I did something similar for personal use with cloudflareworker that would trigger and send it to a personal slack (probable not the best storage but works for now). The best part i found was I learnt Progressive Web App to be able to "install" it to phone and let you hit the share button to ship the url to my worker and it would take care of it for me. Not sure if OP already have it in the app but i find that to be very useful
We haven't plugged into a phone's "share" functionality yet, great suggestion!
It should auto synchronize with browser as another devixe, not just import export. Sync code in Chromium and Firefox is opensource ...
I mean, I know the client for Chromium is open source, but is there an open source sync server, ala mozilla-services/syncserver for Firefox? There seemed to be a couple of abandoned efforts on GitHub but I wondered if you knew of something more specific
Google has turned off access to sync features for Chromium (2021)

https://news.ycombinator.com/item?id=25886218a

To clarify, are you suggesting Linkidex automatically sync with whatever the user's bookmarks are on the user's current browser?
No, sync with Google or Mozilla server as browser would.
I've been using Shiori for some time. It is built in Go and open source.
https://github.com/go-shiori/shiori I haven't heard of this one before, thanks for the info.

May I ask what made you decide to use Shiori instead of pocket or something else? It looks like Shiori is marketed as a "simple clone of pocket."

More than anything being able to host it myself in a container, but also syncing a lightweight SQLite DB to cloud storage is great. It is incredibly fast which I like. It isn't my ideal tool but so far my ideal tool doesn't exist.
I think what really is missing here would be a full text search. I have currently multiple thousands of bookmarks. Sometimes remembering the title just doesn't cut it.

Also I have a severe fear of link rot. I developed the habit of putting every link I would bookmark into web.archive.org and archive.is as well. So a nice tool should do that too (and of course store the generated link). Some folks might even would want to have it stored offline.

Using web.archive.org is a fantastic idea I had not considered. I wonder if its ok to use their API to serve 'saved' versions of a given site instead of storing it myself. I shall look into this!
Interesting "create test account from hn" button!

As a side note: 1)which are the differences between pocket? 2) do you have a smartphone app on your road map?

Great job! Gonna test it!

“Test account for HN” registers an account with an email I’ll purge later, so people don’t need to give me their email address if they don’t want to.

1) I think the biggest difference is that Pocket (and some other competitors) try to keep you inside pocket. You can get to the original URL of something in your list, but it takes an extra step each time. Linkidex doesn’t try to keep you inside Linkidex, we just try to help you find the thing you are looking for as quickly as possible so you can move on.

2) Yep! Our roadmap includes browser extensions and native phone applications.

1. Can we publicly share our collected links to the public? (Think about delicious clone)

2. I think automated generation of favicon + maindomain + <title></title> + opengraph card from the raw URL is quite useful, instead of manually adding the title.

3. Follow somebody's account. "Upvote" someone's link. (Yet another reddit/HN clone)

1) sharing is on our roadmap and core to our long term value proposition.

2) That is a great idea. Right now we default the title to the URL if a user doesn't input a title. Your suggestion is superior, will look into this.

3) This is something we have considered, but isn't currently on our road map. Right now we are looking at making Linkidex a great productivity tool as opposed to yet another social network.

Nicely done OP! How can I check on the status of bookmark importing? I exported from FF and it said the import began, but I'm not sure how/where to check the progress on that. Do I just refresh until they show up on the main page?
Making the error reporting of import / export is very high on my todo list. Right now the user just has to wait and doesn't get feedback, which is a bad experience.

I see one import failed due to something on my side. I've identified the issue and have a fix, I'll follow up as soon as its deployed. Sorry for the inconvenience!

Yeah that may have been mine, no worries. Thanks!
Thanks for your patience on this! This issue has been fixed.
Cool project! I’ve been using a Notion database for exactly this problem. The only feature I can see from a quick glance that this has and Notion doesn’t is quickly exporting to browser bookmark format. Any other cool features I’m missing?
Notion Databases are neat! I’m not familiar with them, I just glanced over some of the documentation. I think its safe to say Notion Databases would let you create your own Linkidex (or your own todo list app, or your own food macro tracking app, etc) as long as you are willing to spend the time building and maintaining it, which you must if you have already put in the work!

May I ask what made you choose notion vs any alternative? Do you like having complete control over the shape of your data, do you like the UI, or is there something else about it?

Notion is an interesting tool because it’s so general-purpose and flexible. In the past I used different tools for bookmarks, notetaking, project organization, recipes, reading lists, etc. I got tired of everything having different UI and features and ended up moving all of that to Notion.

I think the main features that led me to choose Notion were:

- Fully cross-platform (web, desktop, mobile)

- Browser extension (PC & Mobile) to quickly save pages to any database

- Ability to create searchable databases with custom fields, tags, multiple views, and other advanced features

- Ability to easily move an item from one database to another, for example moving an article from “Reading List” to “Saved Articles”

- Every database entry is also a page, so an entry in “Saved Articles” can have notes or links to other similar articles

- Very easy to share a database or page, similar to Google Drive

Of course, it’s not without its problems. Because it’s so general-purpose, it can feel unfocused and clunky at times. There are also concerns with having so much data in one tool, and it took a while to get everything set up. But being able to use the same tool to bookmark an interesting article to read later, do my finances, and find a favorite recipe for dinner has been a great experience.

It is of course fully possible that there’s a better alternative that I’ve missed, but it’s served me well so far.

thanks for all of this info!
Yeah full text search, saving an archived text based version of the page behind the link and local storage (export) would make it interesting for me.

That way, you could also feed the info from all those pages into software, let alone an AI for instance.

by local storage / export, do you mean storing your URLs, or downloading the archived text versions of pages?
Raindrop is my current bookmark workflow, it works on desktop (Mac) and mobile and I believe it has full text search but I don’t use it.

https://raindrop.io/

Raindrop is great! Its written by one guy and the polish / quality of his work is top notch.

Our roadmap is going to bring us in a different direction than Raindrop, but more details on that later.

Can you elaborate on how you will be better or in what ways you are already better ?
I don't want to claim that Linkidex is better than Raindrop. Raindrop and Linkidex will serve different audiences. That said, we aren't quite ready to share our long term roadmap.
I love it. I have this thing where I keep tabs open as a bookmark.. I wonder if this is going to help me get rid of all these tabs.
I hope it does!
It would be great if you could import open tabs.

What I really want/need is a tool that helps auto-categorize/group all my open tabs into areas of interest and enables full-text search across all of those pages so that I can context switch back into whatever I was working on at that time.

Manually bookmarking and tagging doesn't scale for me.

I don't think a web app can do this, but a browser extension, which is on our roadmap could!

Regarding auto-categorize, how would you want that to work? I imagine this could be a machine learning problem, but I wonder if there is a naive solution that solves most of the problem instead of just throwing ML at it?

Text search across pages has come up multiple times in this thread. I shall add it to our list of features to investigate.

I'm envisioning a number of categories that I can predefine or select as seed. I think Flipboard use to ask for a number of interest areas upon first use. Something like that.

I'm not always in favor of ML but I'd think this would be something ML would excel in.

Cool. You're going to receive a verification email.

My bad.

Not a problem, thanks for checking it out!
You should make a browser extension or a bookmarklet feature where I can bookmark the URL that I am on.
100% agree. A browser extension is on our roadmap.
What database do you use? Sqlite?

Looks good.

Also how’d you manage making it mobile friendly? That because it’s a progressive web app?

The database is PostgreSQL.

We are using Material UI (https://mui.com/material-ui/getting-started/overview/) on the front end which is what makes the website responsive and mobile friendly. MUI has been great to work with, I highly recommend it.

The Progressive Web App part of things (https://developer.mozilla.org/en-US/docs/Web/Progressive_web...) is what makes Linkidex still mostly work if your internet goes down, and lets users "download" the front end web application to their phone so it behaves like a native mobile app would. For example, users who download Linkidex get an icon on their home screen that opens Linkidex, and the url bar isn't visible when the app is open, despite the downloaded app just being a web page thats opened with your phone's default browser.

Awesome, material UI does look nice.

How is it you can use postgresql as database but your app still works offline? Been looking for a bookmarking app that works offline so that sounds cool

The front end app maintains its own state. The front end fetches all of a given users links when it loads and stores them in application state (memory within the front end application.) If you lose your internet connection, the front end will continue to use the links that it has in its application state.

This isn't how Linkidex works right now, but using Linkidex as an example, the front end could queue up tasks such as "create link abc", "delete link "bcd", and "edit link cde" when offline. Then when your device regains an internet connection, it could send all of its queued up tasks to the back end and reconcile the changes with the database. PWAs make this kind of thing possible, and fairly simple to implement.

I am a huge fan of "The net ninja" on YouTube, and he has a great tutorial on PWAs: https://www.youtube.com/watch?v=4XT23X0Fjfk Note this is 3 years old and front end stuff changes quickly so this may be slightly out of date, but I still recommend this video series. PWAs are awesome.

Edit:

To clarify about linkidex working offline, you can still search your links when offline, assuming you loaded your links before going offline. You can't create, edit, or delete anything though, and if you refresh the app it will fail to reload just like any other web page. Maybe its unfair for me to say it 'mostly' works offline. I'll do a better job communicating this in the future.

It looks like my personal instance of archivebox does such things for me.
archivebox is neat. Also it looks like they have the option to backup links to Archive.org, which was mentioned in another comment too.