bmm  by Y80

AI-enhanced bookmark manager for web content organization

Created 1 year ago
261 stars

Top 97.4% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

BMM is a personal bookmark manager designed to help users organize, share, and discover quality websites. It targets individuals seeking a more intelligent and streamlined way to manage their web links, offering features like AI-powered enrichment and cross-platform accessibility. The primary benefit is reducing manual effort in bookmark organization and enhancing discoverability.

How It Works

The system provides a web interface with support for both mobile and desktop, featuring light and dark themes. Core functionality includes searching bookmarks and tags, with bidirectional linking between them. Authentication is handled via GitHub OAuth or traditional username/password. Backend administration allows importing browser bookmarks, CRUD operations, tag sorting, and importantly, AI-driven enrichment. This AI component automatically scrapes website titles, icons, and descriptions, and intelligently suggests related tags, significantly reducing manual data curation. Data persistence is managed using Drizzle ORM, supporting SQLite and PostgreSQL.

Quick Start & Requirements

Local development involves cloning the repository (https://github.com/Y80/bmm.git), installing dependencies with pnpm install, and running pnpm dev. SQLite is the default database for local development. For deployment, options include standard Node.js deployment (pnpm build, pnpm start), Vercel (requiring environment variable configuration, especially AUTH_URL), or Docker (pre-built images available for SQLite, Turso, and PostgreSQL). AI integration requires configuring API keys for services like Coze or OpenAI. GitHub OAuth setup necessitates defining AUTH_GITHUB_ID, AUTH_GITHUB_SECRET, and ensuring the Authorization callback URL matches the deployed AUTH_URL.

Highlighted Details

  • AI-powered automatic enrichment of website metadata (title, icon, description) and intelligent tag association.
  • Cross-platform (mobile/desktop) and theme (light/dark) support.
  • Flexible database options including SQLite, PostgreSQL, and potential MySQL support via Drizzle ORM.
  • Multiple deployment strategies: Node.js, Vercel, and Docker.
  • Integrated GitHub OAuth for streamlined user authentication.

Maintenance & Community

The provided README does not contain specific details regarding maintainers, community channels (like Discord or Slack), roadmaps, sponsorships, or partnerships.

Licensing & Compatibility

The project's license is not explicitly stated in the README. While it is hosted on GitHub, implying open-source availability, specific terms regarding commercial use or derivative works are not detailed.

Limitations & Caveats

Several features are marked as "to be implemented," including a multi-functional card system (weather, news), a browser extension, bookmark availability checking, and a "read later" system. AI integration requires external API keys and potentially minor coding adjustments. Correct configuration of environment variables, particularly AUTH_URL and GitHub OAuth callback URLs, is critical for authentication and deployment.

Health Check
Last Commit

2 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
4
Star History
21 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.