An interactive, AI-powered bookmark cleanup tool for Raindrop.io designed to help you declutter and organize your bookmarks efficiently.
- Uses Claude AI to analyze bookmarks and provide smart recommendations
- Examines title, URL, domain, and excerpt to suggest appropriate actions
- Provides reasoning for each recommendation to help you make informed decisions
- Small batches: Processes bookmarks in manageable chunks (default: 8 items)
- Break reminders: Suggests breaks every 25 items to maintain focus
- Progress tracking: Shows real-time statistics and processing rate
- State persistence: Resume sessions anytime without losing progress
- Conservative defaults: Keeps items when uncertain rather than deleting
- Keyboard navigation: Arrow keys or vim-style (hjkl) navigation
- Text mode fallback: Works in any terminal environment
- Batch review: See all recommendations at once before taking action
- Visual feedback: Clear progress indicators and action confirmations
- DELETE: Remove outdated tutorials, old news, duplicates
- KEEP: Items already well-organized in current collection
- ARCHIVE: Move to archive collection for historical reference
- MOVE: Relocate to more appropriate collections for better organization
- Resume capability: Pick up exactly where you left off
- State persistence: Automatic saving after each batch
- Multiple sessions: Track progress across different collections
- Clean state management: Automatic cleanup when collections complete
- Python 3.9 or higher
- Raindrop.io account
- Anthropic Claude API access
pip install raindrop-cleanupgit clone https://github.com/laydros/raindrop-cleanup.git
cd raindrop-cleanup
pip install -e .Create a .env file or set these environment variables:
# Required: Your Raindrop.io API token
export RAINDROP_TOKEN="your_raindrop_token_here"
# Required: Your Anthropic Claude API key
export ANTHROPIC_API_KEY="your_claude_api_key_here"- Go to Raindrop.io App Settings
- Navigate to "Integrations" → "For Developers"
- Create a new app or use an existing one
- Copy your API token
- Visit Anthropic Console
- Sign up/sign in to your account
- Navigate to API Keys section
- Generate a new API key
Choose from your Raindrop collections with progress indicators showing previously processed items
Keyboard navigation interface showing AI recommendations with reasoning for each bookmark
Real-time feedback while Claude analyzes your bookmarks and generates recommendations
# Interactive mode - choose collection to process
raindrop-cleanup
# List all collections first to plan your session
raindrop-cleanup --list-collections
# Process with smaller batches (for increased focus)
raindrop-cleanup --batch-size 5
# Test run without making changes
raindrop-cleanup --dry-run# Resume a previous session
raindrop-cleanup --resume
# Use text-only interface (no keyboard navigation)
raindrop-cleanup --text-mode
# Clean up old session files
raindrop-cleanup --clean-state# Specify custom archive collection name
raindrop-cleanup --archive-name "My Archive"
# Combine options for your preferred workflow
raindrop-cleanup --batch-size 8 --text-mode --dry-run| Option | Short | Description |
|---|---|---|
--batch-size |
-b |
Items per batch (default: 8, recommended: 4-8) |
--list-collections |
-l |
Show all collections and exit |
--archive-name |
Archive collection name (default: "Archive") | |
--dry-run |
-n |
Preview changes without executing |
--resume |
-r |
Show and resume previous sessions |
--text-mode |
-t |
Use text interface instead of keyboard navigation |
--clean-state |
Remove old session state files |
↑/↓orj/k: Navigate between bookmarks←/→orh/l: Change action for current bookmarkEnter: Execute selected actionsq: Save progress and quit
- KEEP: Leave bookmark in current collection
- DELETE: Remove bookmark permanently
- MOVE: Move to suggested collection (when available)
- ARCHIVE: Move to archive collection (when available)
- Enter choice:
all,deletes,moves,archives,none, orquit - All decisions made per batch with simple text commands
Claude analyzes each bookmark considering:
- Gaming: Game names, gaming sites, ROMs, guides, speedrunning
- Development: GitHub, docs, Stack Overflow, tutorials, tools
- Reading: Articles, blogs, news, Medium posts, opinion pieces
- Tools: Apps, services, utilities, online tools
- Learning: Courses, how-to guides, educational content
github.com/user/repo→ Developmentsteamcommunity.com→ Gamingmedium.com/@author→ Readingdocs.*→ Development (usually)reddit.com/r/gamedev→ Development vsreddit.com/r/gaming→ Gaming
- DELETE: Can find via search, outdated content, "might read someday" items
- KEEP: Frequently referenced, active projects, already well-organized
- ARCHIVE: Historical reference value but not actively needed
- MOVE: Would be better organized in a different collection
The tool tracks comprehensive statistics:
- Processed: Total bookmarks reviewed
- Kept: Items left in original collection
- Deleted: Items removed permanently
- Archived: Items moved to archive
- Moved: Items relocated to other collections
- Errors: Failed operations
- Session time: Time spent across all sessions
- Processing rate: Bookmarks per minute
raindrop_cleanup/
├── api/ # Raindrop.io API client
├── ai/ # Claude AI analysis
├── cli/ # Command line interface
├── core/ # Main processing logic
├── state/ # Session state management
└── ui/ # User interface components
pip install -e ".[dev]"
pytestblack raindrop_cleanup/
ruff check raindrop_cleanup/
mypy raindrop_cleanup/- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Run the test suite
- Submit a pull request
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
The AI is conservative by design - it prefers to keep items when uncertain rather than delete potentially valuable content. You can always override suggestions.
Not directly. Use --dry-run first to preview changes. Raindrop.io may have its own trash/undo features.
The tool includes intentional rate limiting for the Claude API and uses small batches to maintain consistent focus. This is by design for sustainable use.
The tool is designed for this. It saves state automatically, so you can process large collections over multiple sessions at your own pace.
Yes. Set the RAINDROP_PROMPT_FILE environment variable to the path of a text
file containing your custom prompt template. If the variable is not provided,
the bundled template at raindrop_cleanup/ai/default_prompt.txt is used.
- Raindrop.io for the excellent bookmark management service
- Anthropic for Claude AI