Skip to content

Kejsan/v0-ai-bookmark-organizer

Repository files navigation

Build this app

Automatically synced with your v0.app deployments

Deployed on Netlify Built with v0

Overview

This repository will stay in sync with your deployed chats on v0.app. Any changes you make to your deployed app will be automatically pushed to this repository from v0.app.

Deployment

Your project is live at:

https://v0-ai-bookmark-organizer.netlify.app

Build your app

Continue building your app on:

https://v0.app/chat/projects/zItTXaLWcQE

How It Works

  1. Create and modify your project using v0.app
  2. Deploy your chats from the v0 interface
  3. Changes are automatically pushed to this repository
  4. Netlify deploys the latest version from this repository

Environment Variables

The app requires several environment variables to connect to Supabase and handle encryption keys.

  1. Copy .env.example to .env.local and fill in the values.
  2. In Netlify:
    • Navigate to Site settings → Build & deploy → Environment.
    • Add the following variables:
      • NEXT_PUBLIC_SUPABASE_URL
      • NEXT_PUBLIC_SUPABASE_ANON_KEY
      • APP_KMS_MASTER_KEY
      • Optional: NEXT_PUBLIC_DEV_SUPABASE_REDIRECT_URL
      • Optional: NEXT_PUBLIC_SITE_URL
    • Save the variables and trigger a new deploy.

Chrome extension sync

The repository now ships with a Manifest V3 extension in chrome-extension/ that can sync bookmarks and reading list entries from Chrome.

Loading the extension locally

  1. Clone/download this repository so the chrome-extension folder is on disk.
  2. Visit chrome://extensions, enable Developer mode, and click Load unpacked.
  3. Select the chrome-extension directory. The popup provides login and “Sync now” controls.

See public/chrome-extension/README.html for a step-by-step guide that can be shared with end users.

Import API

The extension posts bookmark payloads to POST /api/import-chrome. The handler validates URLs, ensures categories exist, fetches metadata, calls Gemini for summaries, and enqueues embeddings so the dashboard stays searchable. Requests must include a Supabase access token via Authorization: Bearer <token>.

AI organisation helpers

  • POST /api/organize aggregates recent bookmarks, clusters them into suggested categories with Gemini, and surfaces potential duplicates using embedding similarity.
  • The dashboard’s AI Suggestions tab lets users review the generated moves and apply them with one click.

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors