
Before search, we used web directories to explore the internet; and although search has some obvious advantages, something valuable was lost. With Bookmark City, anyone can create a collection of bookmarks that anyone else can use - that is, anyone can create their own web directory. Here are just a few of the use cases:
- Lists of software tools that your team needs to be familiar with
- Playlists that link to music from different sites
- Recipe books that link to recipes from different blogs
- Wish lists that link to products from different stores
- Meta-collections that link to other collections
The app has an intentionally 90s look that's light on CSS, but I built it with React, Express, and AWS and it showcases some advanced features. I wrote drag and drop logic allowing users to easily reorder bookmarks or drop them into folders. I wanted Bookmark City to complement the browser's bookmarks bar rather than replacing it, so I designed it to allow dragging bookmarks directly from the app to the bookmarks bar, or from the bookmarks bar into the app - I don't think there is another web app in existence that supports that! I wrote a custom routing system so that every collection and every folder (and subfolder, and subsubfolder, and so on) created in that collection has a dynamic URL for easy sharing. Most user actions are instantaneous since I wrote an optimistic UI system that updates the front end without waiting for the server response, and I developed a signals-like state management system to minimize React reconciliation time despite some complex component interactions.



