Bookmark Organizer is a web application that helps you organize and visualize your browser bookmarks using AI-powered categorization and python data visualization.
- Parse and organize HTML bookmark files
- AI-powered categorization of bookmarks using Anthropic's Claude API
- Interactive visualization of bookmark relationships using t-SNE and Plotly
- Real-time processing updates via WebSocket
- Download organized bookmarks as an HTML file compatible with most browsers
- Backend: Flask, Flask-SocketIO
- Frontend: HTML, CSS, JavaScript
- AI: Anthropic Claude API
- Data Processing: NumPy, scikit-learn
- Visualization: Plotly
- Embedding Generation: Sentence Transformers
- Vector Database: FAISS
-
Clone the repository:
git clone https://github.com/yourusername/bookmark-organizer.git cd bookmark-organizer
-
Install the required dependencies:
pip install -r requirements.txt
-
Set up your Anthropic API key:
- Sign up for an API key at Anthropic's website
- Set the environment variable:
export ANTHROPIC_API_KEY='your_api_key_here'
-
Run the Flask application:
python app.py
-
Open your web browser and navigate to
http://localhost:5000
- Export your bookmarks from your browser as an HTML file.
- On the Bookmark Organizer web interface, click "Choose File" and select your exported bookmark file.
- Click "Organize Bookmarks" to start the processing.
- Wait for the AI to categorize your bookmarks and generate the visualization.
- Explore the interactive t-SNE visualization to see relationships between your bookmarks.
- Click "Download Organized Bookmarks" to get your categorized bookmarks as an HTML file.
- Large bookmark files may take a considerable amount of time to process due to API rate limits and the complexity of embedding generation.
- The application currently doesn't support incremental updates. Each time you process bookmarks, it starts from scratch.
- The AI categorization will occasionally misclassify bookmarks, especially for niche or ambiguous websites.
- Malformed or invalid URLs in the bookmark file will cause the application to crash.
- This code was created for a hackathon, just keep that in mind.
Contributions are welcome, because I don't really know what I'm doing.
- Anthropic for their Claude AI API
- Sentence Transformers for embedding generation
- Plotly for interactive visualizations
- FAISS for efficient similarity search
- GitHub: @isaacgemal
- Twitter: @Aizkmusic