A modern, self-hosted bookmark manager built with Flutter (Frontend) and FastAPI (Backend). It features a beautiful glassmorphism UI, automatic metadata extraction (favicons, thumbnails), and AI-powered categorization using Google Gemini.
- Modern UI: Glassmorphism design inspired by Apple and Linear.
- Auto-Sync: Syncs bookmarks directly from your Chrome bookmarks file.
- Smart Analysis: Automatically categorizes and tags bookmarks using Google Gemini AI.
- Health Check: Validates bookmark URLs and identifies broken links (404, 500, etc.).
- Visuals: Auto-fetches favicons and generates website thumbnails.
- Responsive: Works seamlessly on desktop and mobile.
- Frontend: Flutter Web
- Backend: Python FastAPI, SQLModel (SQLite)
- AI: Google Gemini Pro
- Containerization: Docker & Docker Compose
- Docker & Docker Compose installed.
- (Optional) Google Gemini API Key for AI features.
-
Clone the repository:
git clone <repository-url> cd notes_google
-
Configure Environment:
- Map your Chrome bookmarks file in
docker-compose.yml:volumes: - /path/to/your/Bookmarks:/app/data/Bookmarks:ro
- (Optional) Set your Gemini API key in
docker-compose.yml:environment: - GEMINI_API_KEY=your_api_key_here
- Map your Chrome bookmarks file in
-
Start Services:
docker-compose up -d --build
-
Access the App:
- Open your browser and navigate to
http://localhost
- Open your browser and navigate to
- Sync: Click the "Sync Now" button in the sidebar to import bookmarks from the mapped file.
- View: Browse bookmarks by folder or use the "Overview" stats to see broken links.
- AI Analysis: The system automatically analyzes new bookmarks in the background to add tags and categories.
cd backend
pip install -r requirements.txt
uvicorn main:app --reloadcd frontend
flutter run -d chrome