Skip to main content
This Ain't No Content

Bookmarking For Myself

Many years ago, I was one of the refugees who left delicious.com (no link, because the site no longer exists) and went to Pinboard. This worked well for many years for my bookmarking needs, which are roughly:

  1. Save my bookmarks
  2. Work from any browser, anywhere
  3. Keep them for the long term

For boring reasons I won't go into, Pinboard stopped working on that second score. This meant I had a small itch I wanted to scratch, which made it a perfect time to build my own solution. Basically, I wanted the same three requirements, plus a fourth: that it should be self-hosted.

I'm very happy with the result, which leans heavily on a Ruby framework that everyone knows but I don't want to name because it draws the wrong kind of attention from recruiters. As usual for home projects these days, I also leaned on AI, specifically Claude via Cursor. I think it's worth writing a few more words on that last subject.

I think I have the same experience as many other people. When it's good, it can be astonishingly good. I don't know much about Turbo or Stimulus, but I was able to use them for features because Claude does know them—or at least well enough to do the basics. With the Composer mode, I got close to a one-shot solution for a use case that would have taken me hours to do by hand, especially because I would have to come up to speed on all of the APIs that are new to me.

When it's bad, it can be pretty bad.

It will get what feels like an idée fixe, where it will insist on re-introducing something I rejected earlier. The advice to stage changes and commit often is important, but you also have to keep a close eye on diffs to make sure there isn't something unwanted sneaking in.

It can write terribly redundant code, especially when the app gets just a little bigger and it "forgets" what it did earlier. Context in general can be a challenge, especially over many days or weeks.

Tests, and fairly thorough tests, are a must. The "tunnel vision" of the AI means that it is apt to break things unintentionally, and testing by hand takes too much time and, as well as being boring, it is cumbersome.

That said, I'm still happy overall. I have a bookmarking app that suits my needs and that I host myself. It took me a few hours but, most importantly, it was fun, like the hacking I remember doing when I was a kid. The result, which I'm not publicizing widely, is at Bookmarks, a name that is also deliberately chosen to be boring. My motivation here is not to impress people with my tech skills but, as I mentioned before, to scratch my own itch.