UPDATE: Since publishing this article I have open sourced the extension. You can find the source code here
Years ago when I was still in college I had an "app idea". The app was a bookmark manager where you could manage your lesser used bookmarks. The idea was simple, your most common bookmarks are kept in your bookmarks bar. These are things like Github, Gmail, Trello, etc, stuff you access all the time.
But what about the "other" bookmarks? The cool article you found online, that neat WebGL demo you ran across while browsing HackerNews, or a developers portfolio site that you found inspiring. Most of these bookmarks for us right now live under the "Other Bookmarks" folder and unfortunately, many get lost in that folder.
Simply put traditional bookmarks don't mingle well with these cool and quirky bookmarks. In many browsers, you can't sort or even categorize these bookmarks outside of putting them in a specific folder, and even when you do put them inside the proper folder, you then have to remember where you put it or risk browsing endlessly through each folder trying to find what you are looking for. Worse yet, bookmarks are not sharing friendly. Stop short of sending your friend an export of your bookmarks via email or Dropbox, there was just no good way to share your collection of bookmarks.
I thought, what if there was a browser extension or some sort of app that let you manage these bookmarks? An app where you could accumulate, categorize and then search for all these cool and quirky sites, and then be able to share that collection with friends easily.
Back in college when I first had the idea, I was still learning about if statements in Java and was ill-equipped to build any sort of functioning app. But fast-forward to a few months ago and that idea popped back into my head, but this time I was more than equipped to build an app like this. I originally thought I could whip something together in a weekend, but as time went on and the Monday after came and went, my endeavor went from a weekend project to a full blown 3-month long effort where I learned about the ins-and-outs of Chrome extensions, became a Webpack guru and probably lost a little more hair than I care to admit stressing over how to build the features I wanted into this app.
The result? Fav.sh
Fav.sh is the culmination of not only everything I've learned so far as a web developer, but also something I've wanted to do for a long time. Fav.sh solves the problems I found with browser bookmarks. Bookmarks in Fav.sh are no longer tied to your browser's bookmarks and are meant to be sortable, searchable and shareable.
Whenever you click the "+" button, the extension automatically picks up the name of the site as well as the URL, letting you fill in the description and tag the bookmark as you see fit. From there, bookmarks can be sorted via tags in the sidebar but can also be searched for directly.
As far as sharing, instead of building my own backend and managing the data there, I decided to go with storing the data in Github Gist. Storing the data in Gist lends the app a few advantages, namely, you can quickly backup and restore your bookmarks to a Gist file and share the collection of bookmarks with anyone simply by giving them the Gist ID to your collection.
The app is currently available on the Chrome Web Store and I plan to release it to Firefox and Safari as soon as I get more time. I recently added the ability to search for bookmarks in the app and I have a litany of other features I plan to add to it to make it more useful this year.
If you're frustrated with how bookmarks work in Chrome, I encourage you to give this extension a try and see how you like it.