Browser bookmarks are supposed to make things easier. Instead, if you’re anything like me, they quickly turn into a dumping ground. I save links faster than I organize them into folders, and folders get nested inside folders. By the time I actually get around to checking out those links, half of those links are outdated. And for the most part, the most critical ones get duplicated across devices. All that to say that the bookmark bar doesn’t really stay all that useful for too long.
That problem pushed me to search for better bookmarking solutions. And that’s how I stumbled across a tool called Links as Code. The idea is simple on the surface. Instead of saving bookmarks inside a browser, you store them in a YAML file. The app reads that file and turns it into a clean, minimal dashboard. No syncing needed, no complicated structure. Just a single file that you control that offers a refreshingly different way to structure your links.
5 reasons I switched to a self-hosted, bookmarking solution
From privacy control to archiving and cross-platform access, Hoarder redefines how you manage and organize bookmarks effectively and securely.
The real problem with bookmarks is management
YAML turns bookmarks into something usable
The biggest issue with traditional bookmarks isn’t the feature itself. That part works well enough. It’s the lack of structure. Browsers let you save anything, anywhere with no friction, but they’re not particularly efficient. The problem is that a folder that made sense months ago might not make much sense today.
What adds to the problem is that bookmarks are passive and lack context. There’s no grouping beyond folders and no real way to reorganize them at scale. You’re forced into a UI that wasn’t particularly designed for long-term management. This is where the links-as-code approach flips things around.
Instead of relying on a browser UI, everything lives in a plain text YAML file. You define links as structured data. Each entry has a name, a URL, and, optionally, a description. You can then group links into sections that actually reflect how you use them. The app simply reads this file and renders it into a usable interface. That makes a bigger difference than you might think.
Because your links are no longer tied to a browser, they are portable, editable, and consistent in how they function. You can open the file, scan through it, look for changes that need to be made, and make those changes immediately. There’s no hunting through menus or dragging items between folders. You’re editing your entire link system in one single text file.
Even smaller changes become simpler to handle. Renaming a link is trivial, for example. And reorganizing categories takes seconds. Removing dead links becomes part of an easy workflow instead of having to dig through menus and submenus.
The tool itself is simple and straightforward. The straightforward compose file provided on GitHub can be deployed in seconds, and all you have to do is place the YAML file in a data directory. There’s no database or account or syncing to break. The app just displays whatever links you place in the YAML file.
Turning a YAML file into a daily dashboard
While the setup is simple enough. What surprised me most was how quickly it replaced my bookmarks entirely. Instead of treating it as a backup, I dived right in and used it as my primary entry point for everything running on my network. Every service, tool, and dashboard got added to that YAML file.
The structure was pretty deliberate. I group things based on how I think and use specific services, rather than how browser bookmark defaults work. There’s a section for core tools that I use daily. And another one for media services. Finally, there’s another section for core infrastructure. If there’s something I’m experimenting with or that needs attention, it gets its own section, so I don’t forget about it.
That YAML-based flexibility is the real advantage. The tool supports both ungrouped links and grouped sections, so you can keep things simple or build out a more structured layout depending on your needs. The YAML format is straightforward, making it easy to maintain over time.
Yes, there’s a bit more friction than a standard bookmark. Adding a link requires opening the file and typing it out. That might sound slower than clicking a star icon, but it forces a more deliberate action. You only add things that matter. Over time, that list stays clean because it’s intentional. Even customization is simple because you can manage everything within the text file.
A simple tool that fixes a messy habit
Using the tool really brought to light just how messy link management tends to be using standard bookmarks. Browsers made it easy to save links, but also forget about them, and definitely not how to manage them clearly.
Switching to a YAML-based system might sound technical, but in practice it’s surprisingly simple. You move from a cluttered interface to a single file-based control. The app handles displaying your bookmarks and letting you interact with them. The bookmarks are right there in the YAML file. It’s not doing all that much. There’s no automation, no recommendations, or much else happening here. And that’s precisely why I like it and why it’s become a part of my self-hosted stack.