AI-powered semantic search across your Twitter/X bookmarks with a stunning WebGL interface
- Semantic Search - Ask questions in natural language, get relevant bookmarks
- AI-Powered Responses - Nebius LLM (Gemma 9B) synthesizes answers from your bookmarks
- Twitter/X Integration - OAuth-based bookmark fetching with pagination
- Supermemory Storage - Vector database for efficient semantic retrieval
- WebGL Shader Background - Beautiful interactive 3D graphics
- Dark/Light Mode - Glassmorphism UI with theme support
- Deduplication - Smart handling of duplicate bookmarks
- Cursor Persistence - Resume fetching after rate limits
supermemory-bookmarks-chat.onrender.com
| Technology | Purpose |
|---|---|
| Next.js 16 | React framework with App Router |
| Supermemory | Vector database for semantic search |
| Nebius Token Factory | LLM API (Gemma 9B) |
| Twitter API v2 | OAuth & bookmark fetching |
| Tailwind CSS | Styling with glassmorphism effects |
| WebGL | Interactive shader background |
- Node.js 18+ or Bun
- Twitter Developer Account (with OAuth 2.0 setup)
- Supermemory API key
- Nebius API key
-
Clone the repository
git clone https://github.com/divital-coder/Supermemory-Bookmarks-chat.git cd Supermemory-Bookmarks-chat -
Install dependencies
npm install # or bun install -
Configure environment variables
Create a
.env.localfile:# App APP_URL=http://localhost:3000 # Supermemory SUPERMEMORY_API_KEY=your_supermemory_key # Nebius LLM NEBIUS_API_KEY=your_nebius_key # Twitter OAuth TWITTER_CLIENT_ID=your_twitter_client_id TWITTER_CLIENT_SECRET=your_twitter_client_secret TWITTER_REDIRECT_URI=http://localhost:3000/api/auth/callback
-
Run development server
npm run dev # or bun run dev
- Go to developer.twitter.com
- Create a new app with OAuth 2.0 enabled
- Set Callback URL to your app URL +
/api/auth/callback - Enable the Bookmark.Read scope
- Copy Client ID and Client Secret to your
.env.local
- Push code to GitHub
- Create new Web Service on render.com
- Connect your repository
- Add environment variables in Render dashboard
- Update Twitter Developer Portal callback URL to your Render URL
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Twitter API │────▶│ Supermemory │────▶│ Nebius LLM │
│ (Bookmarks) │ │ (Vector Search) │ │ (AI Response) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
Fetch tweets Semantic index Natural language
with OAuth & retrieval answers with URLs
| Endpoint | Method | Description |
|---|---|---|
/api/auth/[platform] |
GET | Initiate OAuth flow |
/api/auth/callback |
GET | OAuth callback handler |
/api/fetch |
POST | Fetch bookmarks from platforms |
/api/search |
GET | Semantic search with LLM response |
/api/providers |
GET | List available LLM providers |
Contributions are welcome. Please feel free to submit a Pull Request.
MIT License - feel free to use this project for your own purposes.
- Supermemory for the vector database
- Nebius for LLM API access
- WebGL shader inspired by Matthias Hurrle
Made by divital-coder
