Chrome extension + Python backend to summarise PDFs with NotebookLM.
- Detects PDF tabs in Chrome
- Lets user generate:
- Report (PDF)
- Presentation (PPTX)
- Podcast (MP4)
- Quiz (PDF)
- Chat with PDF
- Export report to Google Docs
Each user authenticates with their own Google account. No shared session on the server.
- User installs the extension
- First use: clicks "Login" in popup → opens NotebookLM in a new tab → signs into Google
- Extension reads their Google cookies via
chrome.cookiesAPI - Every API request includes cookies as
X-NLM-Authheader - Backend creates a per-user NotebookLM client, cached for 1 hour
You (the developer) deploy the backend once. No session tokens to refresh. Ever.
extension/- Chrome MV3 extensionsummariser_api.py- FastAPI backendAPI/notebooklm-py/- NotebookLM client libraryDockerfile- container deploymentprivacy-policy.html- store privacy policystore-listing.md- Chrome Web Store listing copy
- Create venv and install deps
- Install local NotebookLM client package
- Start API:
python -m uvicorn summariser_api:app --reload --port 8000- Load
extension/as unpacked extension inchrome://extensions - Click extension icon → Login → sign into NotebookLM → done
The server no longer requires NOTEBOOKLM_AUTH_JSON — auth comes from each user's browser.
See RENDER_DEPLOYMENT.md for full Render deployment steps.