Steven Hubert

Quickmark - Personal Bookmark Manager

I have far too many devices in my life, and while most of them are Apple I can't get on the use Safari for everything in my life train. Previous bookmark managers I used have gone out of business or closed down such as Del.icio.us, Pocket, etc..

Problem

A way to store and search bookmarks across devices. Without having a million tabs open, link fatigue, reliance on 3rd parties that either shut down or quickly move to monetization.

I'm a big user of Tailscale and have my Home Assistant, Homelab, and Digital Ocean server all behind it as well as use it for ad blocking so how can I leverage that infra to provide an account-less browser homepage that gives me quick access to both viewing my bookmarks and creating new ones.

Solution

Quickmark Card View

A basic personal link manager. Enter Quickmark - Keep it lightweight, keep it fast, keep it simple.

Approach & Features

Link sharing in social media is so prevalent these days I knew I wanted to leverage OpenGraph where possible. Generally all sites provide Title, Description and Image but I wanted to fall back to meta information and favicons when not possible.

I save alot of Youtube videos for later watching so I integrated their oEmbed API to have high quality images saved.

I wanted to save down graphic assets to local storage to prevent spam bot protections when loading the bookmark page which I will do dozens of times a day.

I wanted different views, not because I expect to toggle between each often but because this early into this project I am not sure which view I prefer. Now that it's built I'll likely keep it, but I needed to experience it to see what was for me.

I wanted tagging and filtering. I left it optional as it adds friction but it does make sorting by a tag much easier. The simple search is also dead simple and searches across URLs, titles, descriptions, domains and tags.

Keyboard Navigation Controls

Keyboard navigation was important. If I want to make this as easy as possible I need to quick access keyboard controls so I can easily add and navigate the site. A win for accessibility as well.

Data Portability and Backup:

No tracking or analytics. This app is for me not for anyone else I don't need that overhead. So nothing to do here.

Architecture Highlights

SSR + SPA Hybrid: Server-side rendering for initial load with client-side interactivity

RESTful API Design:

Reflection

It was surprisingly easy to spin this up. I've always been a fan of Svelte but it's come so far that it's becoming pretty simple to just get a site like this off the ground.

Now that it's build their are new features I may add. Such as editing the title of the bookmark, editing tags, etc. I need to really build up a library of links before I can determine if it's worth adding this. It wouldn't be a huge lift of course but it does add some degree of complexity to the UI which is something I am generally looking to avoid.

If you have a homelab, or just want to host this on your computer you can check out the GitHub Repository and get it setup for yourself.

#projects