Overview and History
Starting from a simple text file on a personal server in 2002, the "Bookmarks" project, a self-curated bookmark manager, has grown and evolved through several iterations, reboots, and even temporary cancellations in favor of third-party applications. As of 2023, it stands as my longest-running personal project.
The Early Days
The Bookmarks project emerged from a necessity to save and access interesting online content both in and out of work. This need gave birth to a text file housed on a personal server. The process was straightforward: I would SSH into the server and add a link with a title, separated by '--' for easy reading via an SSH and Vim session. The simplicity and rustic charm of this solution sufficed for several years.
By 2006, the solution evolved into a command-line utility script, providing an easier method for appending the file and using a simple grep command for searching. The system was augmented with a few handy fgrep commands, adding timestamps and making it a more robust solution.
Exploring Third-Party Solutions
The transition from a home-grown solution to a third-party bookmark manager came with the discovery of del.icio.us. This platform served the purpose perfectly until Yahoo's unfortunate intervention a few years later. Disillusioned by this experience, I reverted to the command-line solution, this time enhanced with Perl commands and a Dropbox integration to make the bookmark list accessible across multiple devices/servers.
Subsequent trials with other bookmark managers like Pocket and various other apps fell short of expectations. They were either too expensive, didn't align with my unique use case, or offered a free tier that was too clunky to be practical.
Adapting to Change
By 2013, the Chrome sync function seemed to be the solution, providing an excellent bookmark management system until 2022. However, a shift in professional circumstances and a locked-down company laptop made the continuation of this method impossible. The reliance on a personalized bookmarking system had become so integral to my workflow that its absence significantly hampered productivity.
Back to the Drawing Board
To regain control over my workflow, I decided to build a custom solution from scratch using Heroku and Rails. This platform, though rustic, was designed to cater to my specific needs. A basic Rails app was quickly set up on Heroku's free tier, augmented by a thin CLI command utility, as staying in the terminal was an important aspect of my user experience.
A gem that provided CRUD and search capabilities out of the box was employed for the web front-end. The solution worked perfectly until Heroku ended their free tier, coinciding with my desire to develop personal projects in public while maintaining good and standard development practices.
The Current Iteration and the Future
The Bookmarks app underwent another transformation, integrating into the my "Pulp" app. As of 2023, the bookmarks have been successfully ported over, and a basic CLI app has been developed to ensure usability in the work environment.
A slew of enhancements are in the pipeline, logged as issues to be addressed iteratively. I envision a public listing of shared links and other value-adding features, with a detailed roadmap soon to be outlined.
This project is a testament to the power of personal projects and the importance of tailored solutions. It stands as a continuously evolving tool that has adapted and grown along with my use cases, symbolizing two decades of learning, adaptation, and innovation.