Local-first Bookmark Intelligence Platform for X/Twitter bookmarks.
- Ingestion: fetches bookmarks from the local Bird CLI (
~/bin/bird) - Storage: SQLite + FTS5 (no external DB)
- Enrichment: optional AI summaries/tags via Anthropic Claude (requires API key)
- UI: Next.js dashboard (digest, chat, browse)
See memory.md for ports, proxy behavior, and other notes for ongoing work.
- Python 3.11+
- Node.js 20+
pnpm- Bird CLI installed locally at
~/bin/birdand authenticated (~/.config/bird/credentials)
Create a virtualenv, install deps, run the API:
python3 -m venv .venv
source .venv/bin/activate
pip install -r backend/requirements.txt
uvicorn backend.main:app --reload --host 127.0.0.1 --port 8010Environment (repo root .env, loaded on startup; do not commit secrets):
ANTHROPIC_API_KEY— required for enrichment, chat, and digest generation- Optional:
ANTHROPIC_MODEL,ANTHROPIC_CHAT_MODEL,ANTHROPIC_DIGEST_MODELto override defaults - Optional hardening:
INTUITION_API_KEYto requirex-api-keyon all/api/*routes - Optional hardening:
INTUITION_EXPOSE_SYSTEM_INFO=trueto expose local file paths in/api/status(defaults to redacted)
cd web
pnpm install
pnpm dev --port 3010Open http://127.0.0.1:3010. The app calls /api/proxy/... on the Next.js origin; the proxy forwards to the FastAPI backend. By default the proxy targets http://127.0.0.1:8010. Override with BACKEND_API_BASE or NEXT_PUBLIC_API_BASE in web/.env.local if your API runs elsewhere.
After initial setup (.venv created and web/node_modules installed), run:
make dev-upThis starts backend (:8010) and frontend (:3010) together and stops both on Ctrl+C.