Smart Bookmark is a simple, AI-powered tool to help you stay organized and make the most of your bookmarks. Features like smart search, automatic summaries, and tagging make it easy to search and organize your bookmarks.
- 🔍 Smarter Search: Quickly find what you need without having to remember exact keywords.
- 📝 Automatic Summaries: Let AI create summaries and tags for your bookmarks so you don’t have to.
- 📚 Bulk Bookmarking: Add multiple bookmarks in one go.
demo.mov
- 🐋 Docker installed on your machine.
- 🔑 A valid Google API key (free tier is sufficient for personal use).
- 🐘 PostgreSQL database with the pgvector extension installed (Learn more).
Using Docker Compose, you can quickly deploy the application with the prebuilt images from Docker Hub.
Create a new file named docker-compose.yml
and add the following content:
version: "3.8"
services:
backend:
image: dh1011/smart-bookmark-backend:latest
ports:
- "8000:8000"
environment:
DB_HOST: "postgres"
DB_PORT: "5432"
DB_NAME: "your-db-name"
DB_USER: "your-db-user"
DB_PASSWORD: "your-db-password"
depends_on:
- postgres
restart: unless-stopped
frontend:
image: dh1011/smart-bookmark-frontend:latest
ports:
- "3000:3000"
environment:
REACT_APP_API_BASE_URL: "http://127.0.0.1:8000"
depends_on:
- backend
restart: unless-stopped
postgres:
image: pgvector/pgvector:pg17
container_name: postgres-db
ports:
- "5432:5432"
environment:
POSTGRES_USER: your-db-user
POSTGRES_PASSWORD: your-db-password
POSTGRES_DB: your-db-name
volumes:
- postgres_data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
postgres_data:
Note: If running the app on a remote host, update the
REACT_APP_API_BASE_URL
in thefrontend
service to match your server's IP address:REACT_APP_API_BASE_URL: "http://<your-server-ip>:8000"
If you plan to use an existing PostgreSQL database:
- Update the
DB_HOST
,DB_PORT
,DB_NAME
,DB_USER
, andDB_PASSWORD
environment variables in thebackend
service. - Ensure the pgvector extension is installed on your PostgreSQL database (Installation Guide).
Run the following command to start all services:
docker-compose up -d
- Frontend: http://localhost:3000 🌐
- Backend: http://localhost:8000 🌐
If you prefer to set up the application manually, follow these steps:
-
Install Python and create a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows, use venv\Scripts\activate
-
Install the required dependencies:
pip install -r backend/requirements.txt
-
Run the FastAPI backend:
uvicorn backend.main:app --host 0.0.0.0 --port 8000
-
Navigate to the
frontend
directory:cd frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
- Set up a PostgreSQL database and ensure the pgvector extension is installed (Installation Guide).
- Obtain a Google API key 🔑 (Get it here).
- Open the app and go to Settings ⚙️.
- Enter your API key and click Save Configuration 💾.
- Test the AI models by clicking Test Models 🛠️.
- Add bookmarks:
- Click the + ➕ button.
- Paste one or more links 🌐.
- Save, and let the AI generate summaries and tags 🎉.
This project is licensed under the MIT License. See the LICENSE file for details.